第十二天:力扣第844题,比较含退格的字符串
地址:leetcode-cn.com/problems/ba…
思路:刚开始就想用栈,但是太懒了,懒得想,就用傻瓜方法写吧:
var backspaceCompare = function(S, T) {
let A=S.split("");
let B=T.split("");
for(let i = 0;i<A.length;i++)
{
if(A[0]==="#")
{
A.splice(0,1);
i--;
}
else if (A[i]==="#")
{
A.splice(i-1,2);
i=i-2;
}
}
for(let i = 0;i<B.length;i++)
{
if(B[0]==="#")
{
B.splice(0,1);
i--;
}
else if (B[i]==="#")
{
B.splice(i-1,2);
i=i-2;
}
}
A=A.join("");
B=B.join("");
return (A==B);
};
这是最低级的方法,当然,用栈很方便:
var backspaceCompare = function(S, T) {
const arrS = [], arrT = [];
for(let char of S){
char === '#' ? arrS.pop() : arrS.push(char);
}
for(let char of T){
char === '#' ? arrT.pop() : arrT.push(char);
}
return arrS.join('') === arrT.join('');
};
还有双指针和第一个方法差不多,只不过是从后往前遍历的,就不放代码了。