Reverse Only Letters
EasyTwo PointersString
Solution
export function reverseOnlyLetters(s: string): string {
const n = s.length;
const regex = /[a-z]/i;
let answer = '';
let lastIndex = n - 1;
for (let i = 0; i < n; i++) {
while (0 <= lastIndex && !regex.test(s[lastIndex])) {
lastIndex -= 1;
}
if (regex.test(s[i])) {
answer += s[lastIndex];
lastIndex -= 1;
} else {
answer += s[i];
}
}
return answer;
}