1678. 设计 Goal 解析器

1678. 设计 Goal 解析器

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

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

class Solution {
public:
    stack<char>st;
    string res;
    string interpret(string command) {
        for(int i=0;i<command.size();i++){
            if(command[i]=='G') res+="G";
            else if(command[i]!=')') st.push(command[i]);
            else{
                if(st.size()>2) res+="al";
                else res+="o";
                while(!st.empty()) st.pop();
            }
        }
        return res;
    }
};
posted @ 2022-11-06 10:14  认真游泳的鱼  阅读(22)  评论(0)    收藏  举报