題目連結:
題目意譯:
你的筆記型電腦有問題,每當你輸入一個字元 'i',它將會把你先前輸入的字串左右反轉。至於其餘字元則是正常運作。
你被給定一個索引值從 0 開始數的字串 s,而你將會使用你那有毛病的鍵盤來依序輸入 s 中每一個字元。
回傳最終會顯示在你的筆記型電腦上的字串。
限制:
1 ≦ s.length ≦ 100
s 由小寫英文字母組成。
s[0] != 'i'
範例測資:
範例 1:
輸入: s = "string"
輸出: "rtsng"
解釋:
輸入第一個字元後,螢幕上的文字為 "s"。
輸入第二個字元後,螢幕上的文字為 "st"。
輸入第三個字元後,螢幕上的文字為 "str"。
由於第四個字元是一個 'i',因此文字將會左右反轉變成 "rts"。
輸入第五個字元後,螢幕上的文字為 "rtsn"。
輸入第六個字元後,螢幕上的文字為 "rtsng"。
因此,我們回傳 "rtsng"。
範例 2:
輸入: s = "poiinter"
輸出: "ponter"
解釋:
輸入第一個字元後,螢幕上的文字為 "p"。
輸入第二個字元後,螢幕上的文字為 "po"。
由於第三個字元是一個 'i',因此文字將會左右反轉變成 "op"。
由於第四個字元是一個 'i',因此文字將會左右反轉變成 "po"。
輸入第五個字元後,螢幕上的文字為 "pon"。
輸入第六個字元後,螢幕上的文字為 "pont"。
輸入第七個字元後,螢幕上的文字為 "ponte"。
輸入第八個字元後,螢幕上的文字為 "ponter"。
因此,我們回傳 "ponter"。
解題思維:
由於 s 的最長長度也才 100 個字元,因此也不需要想太多,直接照著題目敘述做即可。遇到 'i',把當前紀錄用的字串反轉;反之,直接將該字元加到字串結尾即可。最後該字串即為所求。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。