How to check whether a string is a palindrome, ignoring spaces and case in C#

1 Answer

0 votes
using System;
using System.Text.RegularExpressions;

class Program
{
    static bool IsPalindrome(string str)
    {
        // Normalize the string: remove spaces and convert to lowercase
        string normalizedStr = Regex.Replace(str, @"\s+", "").ToLower();

        // Reverse the normalized string and compare
        char[] reversedArr = normalizedStr.ToCharArray();
        Array.Reverse(reversedArr);
        string reversedStr = new string(reversedArr);

        return normalizedStr == reversedStr;
    }

    static void Main()
    {
        Console.WriteLine($"Is palindrome: {IsPalindrome("A man a plan a canal Panama")}");
        Console.WriteLine($"Is palindrome: {IsPalindrome("abcDefg")}");
    }
}


/*
run:

Is palindrome: True
Is palindrome: False

*/

 



answered May 16, 2025 by avibootz
...