当前位置 博文首页 > 就叫昵称吧的博客:Leetcode 844.比较含退格的字符串(Backspace

    就叫昵称吧的博客:Leetcode 844.比较含退格的字符串(Backspace

    作者:[db:作者] 时间:2021-08-25 12:39

    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)
    
    cs