Problems › JavaScript › warmup
Palindrome check
A puzzle feature checks whether a phrase reads the same backwards.
- Compare letters and digits only — skip spaces and punctuation.
- Case does not matter.
- An empty string counts as a palindrome.
isPalindrome(text: string) → bool
Where you start
function isPalindrome(text) {
}
Worked examples
| Call | Result |
|---|---|
isPalindrome("") | true |
isPalindrome("racecar") | true |
isPalindrome("A man, a plan, a canal: Panama") | true |
isPalindrome("hello") | false |
Hint
Walk one index from each end, skipping anything that is not alphanumeric.
Reference solution in JavaScript
function isPalindrome(text) {
const s = text.toLowerCase().replace(/[^a-z0-9]/g, '');
for (let i = 0, j = s.length - 1; i < j; i++, j--) {
if (s[i] !== s[j]) return false;
}
return true;
}