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 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告