Exercise 8: Check if String is Palindrome
Problem Statement
Create a function `isPalindrome(str)` that checks if string is palindrome (case-insensitive).
Example:
- isPalindrome("racecar") → true
- isPalindrome("hello") → false
Sample Output:
isPalindrome("racecar") => true
isPalindrome("hello") => false
isPalindrome("A man a plan a canal Panama") => trueSolution
const isPalindrome = (str) => {
const s = String(str ?? "").toLowerCase().replace(/[^a-z0-9]/g, "");
return s === s.split("").reverse().join("");
};Explanation
Overall Goal:
- String palindrome hai ya nahi check karna.
- Case-insensitive, special characters ignore.
Line 1: Function header
const isPalindrome = (str) => {
Line 2: Normalize
const s = String(str ?? "").toLowerCase().replace(/[^a-z0-9]/g, "");- Lowercase me convert, non-alphanumeric remove.
Line 3: Compare
return s === s.split("").reverse().join("");- Reverse karke compare.
Real world:
- String algorithms: palindrome detection.
- Validation: username checks.