Solutions
🟒 Backspace String Compare

Backspace String Compare

Difficulty: EasyTopic: Two PointersStringStackSimulationLeetcode:874.Backspace String Compare

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:

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

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

Solution

write solution in here

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var backspaceCompare = function(s, t) {
    let ss = [], ts = []
    for(let i = 0; i < s.length; i ++) {
      s[i] !== "#" ? ss.push(s[i]) : ss.pop()
    }
    for(let i = 0; i < t.length; i ++) {
      t[i] !== "#" ? ts.push(t[i]) : ts.pop()
    }
    if (ss.length !== ts.length) return false
    for(let i = 0; i < ss.length; i ++) {
      if (ss[i] !== ts[i]) return false
    }
    return true
};

Similar Questions