个人评级:中等
class Solution {
public:
bool backspaceCompare(string s, string t) {
int i = s.size() - 1,
j = t.size() - 1;
int skip_S = 0,skip_T = 0;
while (i >= 0 || j >= 0) {
while (i >= 0) {
if (s[i] == '#') {
skip_S++;i--;
} else if (skip_S > 0) {
skip_S--;i--;
} else {
break;
}
}
while (j >= 0) {
if (t[j] == '#') {
skip_T++;j--;
} else if (skip_T > 0) {
skip_T--;j--;
} else {
break;
}
}
if (i >= 0 && j >= 0) {
if (s[i] != t[j]) {
return false;
}
} else if (i >= 0 || j >= 0) {
return false;
}
i--;j--;
}
return true;
}
};
所犯错误---->最后写成:
if (i >= 0 && j >= 0) {
if (s[i] != t[j]) {
return false;
}
} else {
return false;
}
忽略了else包含了两者都小于0的情况