# 844-backspace-string-compare Try it on leetcode ## Description

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 = "b"
Output: false
Explanation: s becomes "c" while t becomes "b".

 

Constraints:

 

Follow up: Can you solve it in O(n) time and O(1) space?

## Solution(Python) ```Python class Solution: def backspaceCompare(self, s: str, t: str) -> bool: return self.twopointers(s, t) # Time Complexity: O(n+m) # Space Complexity: O(n+m) def stack(self, s, t): def build(string): ans = [] for c in string: if c == "#": ans.pop() else: ans.append(c) return "".join(ans) return build(s) == build(t) # Time Complexity: O(n+m) # Space Complexity: O(1) def twopointers(self, s, t): def build(string): skip = 0 for x in reversed(string): if x == "#": skip += 1 elif skip: skip -= 1 else: yield x return all(x == y for x, y in zip_longest(build(s), build(t))) ```