Algorithm/LeetCode

[Leetcode] 844. Backspace String Compare

Eric_Park 2021. 8. 13. 15:06

844. Backspace String Compare

Easy

2788126Add to ListShare

Given two strings s and t, return true if they are equal when both are typed into empty text editors. '#' means a backspace character.

Note that after backspacing an empty text, the text will continue empty.

 

Example 1:

Input: s = "ab#c", t = "ad#c" Output: true Explanation: Both s and t become "ac".

Example 2:

Input: s = "ab##", t = "c#d#" Output: true Explanation: Both s and t become "".

Example 3:

Input: s = "a##c", t = "#a#c" Output: true Explanation: Both s and t become "c".

Example 4:

Input: s = "a#c", t = "b" Output: false Explanation: s becomes "c" while t becomes "b".

 

Constraints:

  • 1 <= s.length, t.length <= 200
  • s and t only contain lowercase letters and '#' characters.

 

class Solution:
    def backspaceCompare(self, s: str, t: str) -> bool:
        
        stack = []
        for i in s:

            if i == '#' and bool(stack) == True:
                stack.pop()

            elif i == '#' and bool(stack) == False:
                None

            else:
                stack.append(i)


        stack_b = []
        for k in t:

            if k == '#' and bool(stack_b) == True:
                stack_b.pop()

            elif k == '#' and bool(stack_b) == False:
                None

            else:
                stack_b.append(k)

        return stack == stack_b

Success

Details 

Runtime: 56 ms, faster than 5.50% of Python3 online submissions for Backspace String Compare.

Memory Usage: 14.1 MB, less than 93.22% of Python3 online submissions for Backspace String Compare.