• leetcode-1678-设计 Goal 解析器(简单,基本逻辑)


    虽然今天的每日一题还是简单但是让我获得到了一个重要的知识就是在进行申请动态内存的时候,我们最好是用malloc或者colloc,不要直接int或者char进行定义,因为这样好像会造成空间泄露,我们如果是用动态地址进行创造空间那么我们的内存就是从堆内存里面取到的,这样的地址不会系统自己进行释放所以用起来会比较放心,以前我写树,链表那些数据结构的时候基本上都是用动态内存进行分区,记得应该是在malloc.h这个文件头或者stdlib.h这个里面,好像这个后者是包含前者的,好久不写都忘了以前咋写的,记住了以后分配内存就用动态分配即可

    请你设计一个可以解释字符串 command 的 Goal 解析器 。command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成。Goal 解析器会将 "G" 解释为字符串 "G"、"()" 解释为字符串 "o" ,"(al)" 解释为字符串 "al" 。然后,按原顺序将经解释得到的字符串连接成一个字符串。

    给你字符串 command ,返回 Goal 解析器 对 command 的解释结果。

    示例 1:

    输入:command = "G()(al)"
    输出:"Goal"
    解释:Goal 解析器解释命令的步骤如下所示:
    G -> G
    () -> o
    (al) -> al
    最后连接得到的结果是 "Goal"
    示例 2:

    输入:command = "G()()()()(al)"
    输出:"Gooooal"
    示例 3:

    输入:command = "(al)G(al)()()G"
    输出:"alGalooG"
     

    提示:

    1 <= command.length <= 100
    command 由 "G"、"()" 和/或 "(al)" 按某种顺序组成

     

    1. char * interpret(char * command){
    2. int i=0,j=0;
    3. char* str = (char*)calloc(105, sizeof(char*) );
    4. while(command[i]!='\0')
    5. {
    6. if(command[i]=='G')
    7. {
    8. str[j]='G';
    9. j++;
    10. }
    11. if(command[i]=='('&&command[i+1]==')')
    12. {
    13. str[j]='o';
    14. j++;
    15. }
    16. if(command[i]=='('&&command[i+1]=='a')
    17. {
    18. str[j]='a';
    19. j++;
    20. str[j]='l';
    21. j++;
    22. }
    23. i++;
    24. }
    25. //printf("%s",str);
    26. return str;
    27. }

     当然了这个题也是很简单的,所以也没啥说的,最重要的就是上面的总结

     

     

  • 相关阅读:
    ElasticSearch从入门到精通:基础知识
    VScode---php环境搭建
    【C++】之类和对象 - static静态成员
    C++,STL,,vector容器
    Web APIs:事件高级--注册事件(绑定事件)
    windows RocketMQ与可视化监控平台安装
    [前端] 通过Vite创建项目
    【C++】:内存管理:C++内存分布 || C++中动态内存管理(new || delete)
    Python之函数详解
    高斯分布的乘积与卷积
  • 原文地址:https://blog.csdn.net/qq_59002046/article/details/127722499