public static void Main()
string input = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int[] arr = BuildCharacterFreqTable(input);
Console.WriteLine("input: " + input + " | IsPalindrome: " + CheckMaxOneOdd(arr));
public static bool CheckMaxOneOdd(int[] table)
if (foundOdd) return false;
public static int[] BuildCharacterFreqTable(string str)
int[] table = new int[520];
int code = GetCharacterCode(c);
public static int[] BuildCharacterFreqTable2(string phrase)
int[] table = new int['z'-'a'+1];
foreach(char c in phrase.ToCharArray())
int code = GetCharacterCode(c);
public static int GetCharacterCode(char c)
if (a <= val && z >= val)
public static int GetCharacterCode2(char c)
static void display(int val = 0)