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") => true

Solution

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.