public static void Main()
Console.WriteLine("Hello World");
string palindrome = "A man, a plan, a canal: Panama";
palindrome = "race a car";
palindrome = "`l;`` 1o1 ??;l`";
Console.WriteLine(@"{0} === {1}", IsPalindrome(palindrome), palindrome);
private static bool IsPalindrome(string s)
var formatted = s.ToLower().ToCharArray().Where(c => !char.IsPunctuation(c) && c != ' ' && c != '`').ToArray();
char[] reversed = new char[formatted.Length];
for (int i = formatted.Length - 1; i >= 0; i--)
reversed[next++] = formatted[i];
Console.WriteLine(@"WHAT: {0} {1}", new string (formatted), new string (reversed));
return new string(formatted) == new string(reversed);