この記事では、回文文字列について説明します
これは面接でよく聞かれる質問です。
回文は両方向に読むことができます。文字列が C# 言語の回文かどうかを判断するにはどうすればよいでしょうか?
回文は、文字列の両端に同じ文字が含まれています。例:カヤック
以下の例を見て、文字列が回文かどうかを調べてみましょう。
class Program { /// <summary> /// Determines whether the string is a palindrome. /// </summary> public static bool IsPalindrome(string word) { int min = 0; int max = word.Length - 1; while (true) { if (min > max) { return true; } char a = word[min]; char b = word[max]; if (char.ToLower(a) != char.ToLower(b)) { return false; } min++; max--; } } static void Main() { string[] array = { "civic", "deleveled", "Hannah", "kayak", "level", "examiron", "racecar", "radar", "refer", "reviver", "easywcf", "rotator", "rotor", "sagas", "solos", "stats", "tenet", "Csharpstar", "" }; foreach (string value in array) { Console.WriteLine("{0} = {1}", value, IsPalindrome(value)); } } }
出力: