题目
给定 s
和 t
两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 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;
}