Python程式:在編輯器中透過輸入和退格鍵操作查詢最終文字


假設我們有一個字串 s,它表示輸入到編輯器中的字元,符號“<-”表示退格鍵,我們需要找到編輯器的當前狀態。

例如,如果輸入為 s = "ilovepython<-<-ON",則輸出將為 "ilovepythON",因為在 "ilovepython" 之後有兩個退格字元,它將刪除最後兩個字元,然後再次輸入 "ON"。

為了解決這個問題,我們將遵循以下步驟:

  • res := 一個新的列表
  • 對於 s 中的每個字元 i,執行以下操作:
    • 如果 i 等於 '-' 並且 res 的最後一個字元等於 '<',則
      • 從 res 中刪除最後一個元素
      • 如果 res 不為空,則
        • 從 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

更新於: 2020年10月5日

137 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告