Python程式:在編輯器中透過輸入和退格鍵操作查詢最終文字
假設我們有一個字串 s,它表示輸入到編輯器中的字元,符號“<-”表示退格鍵,我們需要找到編輯器的當前狀態。
例如,如果輸入為 s = "ilovepython<-<-ON",則輸出將為 "ilovepythON",因為在 "ilovepython" 之後有兩個退格字元,它將刪除最後兩個字元,然後再次輸入 "ON"。
為了解決這個問題,我們將遵循以下步驟:
- res := 一個新的列表
- 對於 s 中的每個字元 i,執行以下操作:
- 如果 i 等於 '-' 並且 res 的最後一個字元等於 '<',則
- 從 res 中刪除最後一個元素
- 如果 res 不為空,則
- 從 res 中刪除最後一個元素
- 否則,
- 將 i 插入到 res 的末尾
- 如果 i 等於 '-' 並且 res 的最後一個字元等於 '<',則
- 連線 res 中存在的元素並返回
讓我們看看下面的實現來更好地理解:
示例
class Solution: def solve(self, s): res = [] for i in s: if i == '-' and res[-1] == '< ': res.pop() if res: res.pop() else: res.append(i) return "".join(res) ob = Solution() print(ob.solve("ilovepython<-<-ON"))
輸入
"ilovepython<-<-ON"
輸出
ilovepython<-<-ON
廣告