【C语言刷力扣】1678.设计Goal解析器

题目:

解题思路:

遍历分析每一个字符,对不同情况分别讨论。

  • 若是字符 G ,则 res 中添加字符 G
  • 若是字符 ,则再分别讨论。
    • 若下一个字符是 , 则在 res 末尾添加字符 o

    • 若下一个字符是 a , 则在 res 末尾添加字符 al

      char * interpret(char * command){
      char* res = (char*) malloc(sizeof(char) * (strlen(command) + 1));
      int num = 0;
      for (int i = 0; i < strlen(command); i++) {
      if (command[i] == 'G') {
      res[num] = 'G';
      num++;
      }
      else if (command[i] == '(') {
      if (command[i+1] == ')') {
      res[num] = 'o';
      num++;
      }
      else {
      res[num] = 'a';
      res[num+1] = 'l';
      num += 2;
      }
      }
      }
      res[num] = '\0';
      return res;
      }

相关推荐
阿Y加油吧几秒前
力扣打卡day09——缺失的第一个正数、矩阵置零
数据结构·算法·leetcode
2301_818419011 分钟前
C++中的状态模式实战
开发语言·c++·算法
仰泳的熊猫1 分钟前
题目2576:蓝桥杯2020年第十一届省赛真题-解码
数据结构·c++·算法·蓝桥杯
CSDN_kada4 分钟前
杭电网安复试编程Day23
c++·考研·算法
灰色小旋风8 分钟前
力扣16 最接近的三数之和(C++)
数据结构·c++·算法·leetcode
FMRbpm12 分钟前
前缀和与差分:总结与梳理
算法·前缀和·差分
Tisfy27 分钟前
LeetCode 3643.垂直翻转子矩阵:原地修改
算法·leetcode·矩阵·模拟
噜啦噜啦嘞好29 分钟前
算法篇:滑动窗口
数据结构·算法
无限进步_32 分钟前
【C++】单词反转算法详解:原地操作与边界处理
java·开发语言·c++·git·算法·github·visual studio
senijusene35 分钟前
通信概念,51UART的使用,以及MODBUS的简单应用
c语言·开发语言·单片机·51单片机