[HAI] week3 backspace max solution
https://leetcode.com/problems/backspace-string-compare/submissions/1473739645/
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
function findNotSkipedIndex(s: string, i: number) {
|
||||
let skipCount = 0;
|
||||
while (i >= 0 && (skipCount > 0 || s[i] === '#')) {
|
||||
if (s[i] === '#') {
|
||||
skipCount += 1;
|
||||
i -= 1;
|
||||
continue;
|
||||
}
|
||||
skipCount -= 1;
|
||||
i -= 1;
|
||||
}
|
||||
return i;
|
||||
};
|
||||
|
||||
export function backspaceCompare(s: string, t: string): boolean {
|
||||
let sI = s.length;
|
||||
let tI = t.length;
|
||||
|
||||
while (sI > 0 && tI > 0) {
|
||||
sI = findNotSkipedIndex(s, sI - 1);
|
||||
tI = findNotSkipedIndex(t, tI - 1);
|
||||
|
||||
|
||||
if (sI >= 0 && tI >= 0 && s[sI] !== t[tI]) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return findNotSkipedIndex(s, sI - 1) === findNotSkipedIndex(t, tI - 1);
|
||||
};
|
||||
Reference in New Issue
Block a user