Chuyển đến nội dung

Trình Kiểm Tra Palindrome - Công Cụ Xác Thực Văn Bản Tức Thì (Miễn Phí)

Kiểm tra xem văn bản có đọc giống nhau từ trước sang sau và từ sau sang trước. Trình phát hiện palindrome miễn phí xử lý khoảng trắng, dấu câu và chữ hoa/thường. Hoàn hảo cho các buổi phỏng vấn lập trình, trò chơi từ và việc học tập.

Kiểm Tra Từ Đối Xứng

Ví Dụ

  • "racecar" - Có, đây là từ đối xứng!
  • "A man a plan a canal Panama" - Có, đây là từ đối xứng!
  • "hello" - Không, không phải là từ đối xứng
Máy tính tải...
📚

Tài liệu hướng dẫn

Trình kiểm tra palindrome là gì?

Trình kiểm tra palindrome là công cụ xác định xem một đoạn văn bản có đọc xuôi hay đọc ngược đều giống nhau hay không. Công cụ bỏ qua khoảng trắng, dấu câu và chữ hoa, vì vậy một câu như "A man, a plan, a canal: Panama" được tính là palindrome dù khi đảo ngược không giống hệt nhau ở từng ký tự.

Cách sử dụng trình kiểm tra palindrome này

  1. Nhập hoặc dán một từ, cụm từ hoặc số vào ô nhập.
  2. Kết quả xuất hiện ngay: "Yes, it's a palindrome!" hoặc "No, not a palindrome."
  3. Đọc dòng "Cleaned text" để xem chính xác nội dung đã được dùng để so sánh.
  4. Nhấp vào một trong các ví dụ để kiểm tra ngay.
  5. Dùng "Reset" để xóa nội dung nhập và bắt đầu lại.

Việc kiểm tra được thực hiện trong trình duyệt. Không có văn bản nào được gửi đến máy chủ.

Trình kiểm tra palindrome hoạt động như thế nào

Công cụ hoạt động qua hai bước.

Bước 1: Làm sạch văn bản

Trước khi so sánh, văn bản được làm sạch:

  • Các chữ cái có dấu được chuyển về chữ cái cơ sở không dấu. É trở thành e, á trở thành a.
  • Văn bản được chuyển thành chữ thường.
  • Mọi thứ không phải là chữ cái hoặc chữ số đều bị loại bỏ, bao gồm khoảng trắng, dấu phẩy, dấu chấm và các dấu câu khác.

Bước này giữ lại chữ cái thuộc mọi bảng chữ cái, không chỉ 26 chữ cái được dùng trong tiếng Anh. Chữ viết Cyrillic, tiếng Hy Lạp, tiếng Hebrew và tiếng Trung cũng được làm sạch theo cách tương tự, nên palindrome trong các ngôn ngữ khác cũng được phát hiện chính xác.

Bước 2: So sánh văn bản với phiên bản đảo ngược

Văn bản đã làm sạch được đảo ngược và so sánh từng chữ cái với văn bản gốc đã làm sạch. Nếu mọi vị trí đều trùng khớp, văn bản đó là palindrome.

Công thức palindrome

Với một chuỗi S đã làm sạch có độ dài n, văn bản là palindrome khi:

S[i] = S[n − 1 − i], với mọi vị trí i từ 0 đến n − 1.

Nói đơn giản, chữ cái đầu tiên phải trùng với chữ cái cuối cùng, chữ cái thứ hai phải trùng với chữ cái áp chót, và tiếp tục như vậy về phía giữa. Kiểm tra một chuỗi theo cách này mất lượng thời gian tỷ lệ thuận với độ dài của chuỗi, vì cả bước làm sạch lẫn bước so sánh đều xem xét mỗi ký tự một lần.

Ví dụ minh họa

Xét câu "A man, a plan, a canal: Panama."

  1. Làm sạch câu: chuyển chữ hoa thành chữ thường và xóa dấu câu cùng khoảng trắng. Kết quả là amanaplanacanalpanama.
  2. Đảo ngược văn bản đã làm sạch: amanaplanacanalpanama.
  3. So sánh hai chuỗi. Chúng trùng khớp, nên câu này là palindrome.

Văn bản có dấu cũng được xử lý theo cách tương tự. "Été" (tiếng Pháp nghĩa là "mùa hè") được làm sạch thành ete, vì dấu trên É được chuyển về chữ e không dấu. Đảo ngược ete lại cho ete, nên đây là palindrome. Câu tiếng Tây Ban Nha "Dábale arroz a la zorra el abad" được làm sạch thành dabalearrozalazorraelabad, cũng đọc giống nhau khi đảo ngược.

Ví dụ về palindrome

Từ: racecar, level, radar, civic, kayak, noon, rotor, madam

Cụm từ: "A man, a plan, a canal: Panama", "Was it a car or a cat I saw?", "Never odd or even", "Do geese see God"

Số: 12.321, 1001, 45.654

Những cách sử dụng phổ biến của việc kiểm tra palindrome

  • Phỏng vấn lập trình. Kiểm tra palindrome là một bài tập tiêu chuẩn về xử lý chuỗi. Bài tập này kiểm tra cách ứng viên xử lý các trường hợp biên như dữ liệu đầu vào rỗng, ký tự đơn và chữ hoa chữ thường xen kẽ.
  • Kiểm tra biểu mẫu. Một số hệ thống đánh dấu tên người dùng, mã sản phẩm hoặc số sê-ri có dạng palindrome, vì những mẫu này dễ đoán hơn hoặc có thể gây nhầm lẫn cho một số máy quét.
  • Trò chơi chữ và câu đố. Người thiết kế ô chữ và trò chơi chữ dùng palindrome làm đáp án, vì người chơi thường thấy thú vị khi phát hiện ra chúng.
  • Dạy lập trình. Kiểm tra palindrome là một bài tập nhập môn phổ biến vì kết hợp xử lý chuỗi, vòng lặp và logic điều kiện mà không cần đến các cấu trúc dữ liệu nâng cao.
  • Sinh học phân tử. Một trình tự palindrome trong DNA đọc giống nhau trên cả hai mạch khi mỗi mạch được đọc theo cùng một hướng hóa học. Các enzyme giới hạn nhận diện những trình tự này và cắt DNA tại đó; đây là kỹ thuật được sử dụng rộng rãi trong công nghệ gen.

Lịch sử ngắn gọn của palindrome

Palindrome xuất hiện trong nhiều nền văn hóa và qua nhiều thế kỷ. Ô vuông Sator, một ô vuông chữ La-tinh đọc là "SATOR AREPO TENET OPERA ROTAS,", được tìm thấy tại Pompeii và có niên đại trước 79 CN. Nó đọc giống nhau theo bốn hướng: từ trái sang phải, từ phải sang trái, từ trên xuống dưới và từ dưới lên trên.

Trong nhiều thế kỷ, các nhà văn đã xem palindrome là một thử thách văn học. James Joyce đã đặt ra từ "tattarrattat" trong tiểu thuyết Ulysses để mô tả tiếng gõ cửa. Với 12 chữ cái, từ này thường được xem là một trong những palindrome đơn từ dài nhất trong tiếng Anh.

Các câu hỏi thường gặp

Palindrome là gì?

Palindrome là một từ, cụm từ, số hoặc trình tự đọc giống nhau từ trước ra sau và từ sau ra trước, sau khi bỏ qua khoảng trắng, dấu câu và cách viết hoa.

Công cụ này có bỏ qua khoảng trắng và dấu câu không?

Có. Văn bản được làm sạch trước khi so sánh, nên "A man, a plan, a canal: Panama" được nhận diện là palindrome dù câu gốc có dấu phẩy và dấu hai chấm không giống hệt khi đảo ngược.

Công cụ có xử lý chữ cái có dấu và các bảng chữ cái khác không?

Có. Chữ cái có dấu được chuyển về chữ cái cơ sở, nên é trở thành e trước khi so sánh. Các chữ cái thuộc mọi hệ chữ đều được giữ lại, không chỉ 26 chữ cái của bảng chữ cái tiếng Anh, vì vậy văn bản tiếng Hy Lạp, Cyrillic, Hebrew hoặc tiếng Trung được làm sạch và so sánh theo cách giống như văn bản tiếng Anh.

Các số có được kiểm tra xem có phải palindrome không?

Có. Các chữ số được giữ lại trong quá trình làm sạch, nên những chuỗi số như 12.321 hoặc 1001 được kiểm tra theo cách giống như các từ.

Một chữ cái đơn có phải là palindrome không?

Có. Theo định nghĩa, một ký tự đơn đọc giống nhau từ trước ra sau và từ sau ra trước, nên cả "a" và "I" đều được tính là palindrome.

Palindrome khác anagram như thế nào?

Palindrome đọc giống nhau từ trước ra sau và từ sau ra trước, như "radar". Anagram sắp xếp lại các chữ cái của một từ hoặc cụm từ để tạo thành một từ khác, như "listen" và "silent". Hai khái niệm này không liên quan đến nhau.