通过在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