Skip to content
On this page

题目

给定 st 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true# 代表退格字符。

**注意:**如果对空文本输入退格字符,文本继续为空。

题解

虽然这个题解我写的很垃圾 但是写的很轻松 也是使用了栈

但是好像别人也是这么写的 双指针写法比较难理解

typescript
function backspaceCompare(s: string, t: string): boolean {
  let len1 = s.length;
  let len2 = t.length;
  let stack1 = [];
  let stack2 = [];
  for (let i = 0; i < len1; i++) {
    if (s[i] != "#") stack1.push(s[i]);
    if (s[i] == "#") stack1.pop();
  }
  for (let i = 0; i < len2; i++) {
    if (t[i] != "#") stack2.push(t[i]);
    if (t[i] == "#") stack2.pop();
  }
  let stackLen = stack1.length > stack2.length ? stack1.length : stack2.length;
  for (let i = 0; i < stackLen; i++) {
    if (stack1[i] != stack2[i]) return false;
  }
  return true;
}