淺談 設計 Goal 解析器 問題 (字串變換問題)
阿新 • • 發佈:2021-01-07
設計 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;
}
};