假设我们有一个字符串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