Leetcode 844.比较含退格的字符串(Backspace String Compare)

Leetcode 844.比较含退格的字符串

1 题目描述(Leetcode题目链接)

  给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。

注意:如果对空文本输入退格字符,文本继续为空。

输入:S = "ab#c", T = "ad#c"
输出:true
解释:S 和 T 都会变成 “ac”。
输入:S = "ab##", T = "c#d#"
输出:true
解释:S 和 T 都会变成 “”。

提示:

  • 1 <= S.length <= 200
  • 1 <= T.length <= 200
  • S 和 T 只含有小写字母以及字符 ‘#’。

进阶:你可以用 O(N) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?

2 题解

  用栈,遇到#就弹出一个栈顶。

class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:

        def helper(string):
            stack = []
            for char in string:
                if char != '#':
                    stack.append(char)
                elif stack:
                    stack.pop()
            return stack
        
        return helper(S) == helper(T)

你可能感兴趣的:(Leetcode)