ETH官方钱包

前往
大廳
主題

LeetCode - 2810. Faulty Keyboard 解題心得

Not In My Back Yard | 2024-10-24 12:00:01 | 巴幣 2 | 人氣 10

題目連結:


題目意譯:
你的筆記型電腦有問題,每當你輸入一個字元 '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',把當前紀錄用的字串反轉;反之,直接將該字元加到字串結尾即可。最後該字串即為所求。




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

創(chuàng)作回應

追蹤 創(chuàng)作集

作者相關創(chuàng)作

更多創(chuàng)作