通过在Python中执行键入和退格来在编辑器中查找最终文本的程序

假设我们有一个字符串s,代表输入到编辑器中的字符,符号“ <-”表示退格键,我们必须找到编辑器的当前状态。

因此,如果输入类似于s =“ ilovepython <-<-ON”,则输出将为“ ilovepythON”,因为在“ ilovepython”之后有两个退格字符,它将删除最后两个字符,然后再次键入“ ON” 。

为了解决这个问题,我们将遵循以下步骤-

  • res:=一个新列表

  • 对于s中的每个i,

    • 在res末尾插入i

    • 从res删除最后一个元素

    • 如果res不为空,则

    • 从res删除最后一个元素

    • 如果我与“-”相同并且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
    猜你喜欢