LeetCode--day3 “Goal“解析器

子非愚發表於2020-12-25

請你設計一個可以解釋字串 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)" 按某種順序組成

程式碼操作

public class Solution {
    public string Interpret(string command) {
        char [] comm = command.ToCharArray();
        List<string> arraylist = new List<string>();
        for(int i =0;i<comm.Length;i++)
        {
            if(comm[i]=='G')
            {
                arraylist.Add(comm[i].ToString());
            }else if(comm[i]=='('&& comm[i+1]==')')
            {
                arraylist.Add("o");
                i++;
            }else{
                arraylist.Add("al");
                i=i+3;
            }
        }
        string str="";
        foreach(string a in arraylist)
        {
            str=str+a;
        }
        return str;
    }
}

相關文章