1. 程式人生 > 其它 >淺談 設計 Goal 解析器 問題 (字串變換問題)

淺談 設計 Goal 解析器 問題 (字串變換問題)

技術標籤:資料結構與演算法字串leetcodec++

設計 Goal 解析器

問題:
請你設計一個可以解釋字串 command 的 Goal 解析器 。command 由 “G”、"()" 和 “(al)” 按某種順序組成。Goal 解析器會將 “G” 解釋為字串 “G”、"()" 解釋為字串 “o” ,"(al)" 解釋為字串 “al” 。然後,按原順序將經解釋得到的字串連線成一個字串。

給你字串 command ,返回 Goal 解析器 對 command 的解釋結果。

思路:
定義一個字串,遍歷原字串,根據遍歷結果將對應解析字串拼接到定義的字串即可。

class Solution {
public:
    const string interpret(const string& command) {
        string goal = "";
        for(int i = 0; i < command.length(); ++i){
            if(command[i] == 'G') goal += 'G';
                else if(command[i] == '('){
                        if(command[i +
1] == ')'){ goal += 'o'; ++i; } else if(command[i + 1] == 'a'){ goal += "al"; i += 2; } }
} return goal; } };