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

pythonserver side programmingprogramming更新于 2026/1/8 13:00:17

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

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

为了解决这个问题,我们将按照以下步骤减去

  • res := a new list
  • 对于 s 中的每个 i,执行
    • 如果 i 与 '-' 相同并且 res 的最后一个字符与 '<' 相同,则
      • 从 res 中删除最后一个元素
      • 如果 res 不为空,则
        • 从 res 中删除最后一个元素
    • 否则,
      • 在 res 末尾插入 i
  • 连接 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

相关文章


有用资源