Valid Palindrome
EasyTwo PointersString
Solution
export function isPalindrome(s: string): boolean {
const alphanumeric = /^[a-z0-9]$/i;
let start = 0;
let end = s.length - 1;
while (start <= end) {
const startChar = s[start].toLowerCase();
const endChar = s[end].toLowerCase();
if (!alphanumeric.test(startChar)) {
start += 1;
} else if (!alphanumeric.test(endChar)) {
end -= 1;
} else {
if (startChar !== endChar) {
return false;
}
start += 1;
end -= 1;
}
}
return true;
}
/** 간단하게 요구사항만을 반영 */
// export function isPalindrome(s: string): boolean {
// const converted = s.toLowerCase().replace(/[^a-z]/gi, '');
// const reversed = [...converted].reverse().join('');
// return converted === reversed;
// }