前往
大廳
主題

LeetCode - 1678. Goal Parser Interpretation 解題心得

Not In My Back Yard | 2022-10-23 12:00:08 | 巴幣 0 | 人氣 188

題目連結:


題目意譯:
你擁有一個 Goal 剖析器其可以解讀一字串 command。command 由 "G" 、 "()" 和(或)"(al)" 按照某種排列所組成。而 Goal 剖析器將會把 "G" 解讀為字串 "G" 、"()" 解讀為字串 "o"、"(al)" 解讀為字串 "al"。解讀後的字串將按照原有順序串接在一起。

給定字串 command,回傳 Goal 剖析器對 command 之解讀結果。

限制:
1 ≦ command.length ≦ 100
command 由 "G" 、 "()" 和(或)"(al)" 按照某種排列所組成。



範例測資:
範例 1:
輸入: command = "G()(al)"
輸出: "Goal"
解釋: Goal 剖析器解讀 command 為以下:
G -> G
() -> o
(al) -> al
最終串接的結果為 "Goal"。

範例 2:
輸入: command = "G()()()()(al)"
輸出: "Gooooal"

範例 3:
輸入: command = "(al)G(al)()()G"
輸出: "alGalooG"


解題思維:
就是單純地掃過 command 這個字串,然後宣告一個新的字串 X 作為解讀後並串接的結果。根據題意:
遇到 'G' 這個字元時,就在 X 的結尾加上一個 'G';
遇到 '(' 這個字元時,就看一下下一個字元是什麼。如果是 ')',則在 X 後面加上 'o';反之,在 X 後面加上 "al"。




此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作