LeetCode 844. Backspace String Compare

Description

https://leetcode.com/problems/backspace-string-compare/

Given two strings S and T, return if they are equal when both are typed into empty text editors. # means a backspace character.

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".

Note:

  1. 1 <= S.length <= 200
  2. 1 <= T.length <= 200
  3. S and T only contain lowercase letters and '#' characters.

Follow up:

  • Can you solve it in O(N) time and O(1) space?

Explanation

generate two new strings and then compare

Python Solution

class Solution:
    def backspaceCompare(self, S: str, T: str) -> bool:
        
        string_s = []
        for i in range(0, len(S)):
            char = S[i]
            print (char)
            if char != '#':
                string_s.append(char)
            else:
                if (len(string_s) > 0) :
                    string_s.pop()
                    
        string_t = []
        for i in range(0, len(T)):
            char = T[i]
            if char != '#':
                string_t.append(char)
            else:
                if (len(string_t) > 0) :            
                    string_t.pop()
    
        return string_s == string_t
  • Time complexity: O(n).
  • Space complexity: O(n).

One Thought to “LeetCode 844. Backspace String Compare”

Leave a Reply

Your email address will not be published. Required fields are marked *