Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Chương trình C# kiểm tra chuỗi Palindrome

Palindrome là chuỗi đọc xuôi và ngược giống nhau (ví dụ: "Madam", "Racecar", "level").

Cách kiểm tra:

  1. Chuyển chuỗi thành mảng ký tự.
  2. Đảo ngược mảng (Array.Reverse).
  3. Tạo chuỗi mới từ mảng đã đảo.
  4. So sánh chuỗi gốc và chuỗi đảo (bỏ qua chữ hoa/thường).

Ví dụ: "Madam"

using System;

namespace Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            string string1 = "Madam";
            char[] ch = string1.ToCharArray();
            Array.Reverse(ch);
            string rev = new string(ch);
            
            // So sánh bỏ qua hoa/thường
            bool isPalindrome = string1.Equals(rev, StringComparison.OrdinalIgnoreCase);
            
            if (isPalindrome)
                Console.WriteLine("String \"{0}\" is a Palindrome!", string1);
            else
                Console.WriteLine("String \"{0}\" is not a Palindrome!", string1);
            
            Console.Read();
        }
    }
}

Kết quả

String "Madam" is a Palindrome!

Cách khác: Duyệt 2 con trỏ (two pointers) từ đầu/cuối so sánh từng ký tự, O(n) time, O(1) space, không cần cấp phát mảng mới.