เครื่องมือตรวจสอบพาลินโดรม - เครื่องมือตรวจสอบข้อความแบบทันที (ฟรี)
ตรวจสอบว่าข้อความอ่านเหมือนกันทั้งด้านหน้าและด้านหลัง เครื่องตรวจจับพาลินโดรมฟรีที่จัดการช่องว่าง วรรคตอน และตัวอักษรตัวพิมพ์เล็กหรือใหญ่ เหมาะสำหรับการสัมภาษณ์การเขียนโค้ด เกมคำ และการเรียนรู้
เครื่องมือตรวจสอบคำพาลินโดรม
ตัวอย่าง
- "racecar" - ใช่ เป็นคำพาลินโดรม!
- "A man a plan a canal Panama" - ใช่ เป็นคำพาลินโดรม!
- "hello" - ไม่ใช่ ไม่เป็นคำพาลินโดรม
เอกสารประกอบการใช้งาน
เครื่องตรวจสอบพาลินโดรมคืออะไร?
เครื่องตรวจสอบพาลินโดรมเป็นเครื่องมือที่ทดสอบว่าข้อความอ่านจากหน้าไปหลังและจากหลังไปหน้าได้เหมือนกันหรือไม่ เครื่องมือนี้ไม่นับช่องว่าง เครื่องหมายวรรคตอน และตัวพิมพ์ใหญ่ ดังนั้นประโยคอย่าง "A man, a plan, a canal: Panama" จึงถือเป็นพาลินโดรม แม้เมื่อกลับลำดับแล้วจะไม่เหมือนกันทุกตัวอักษร
วิธีใช้เครื่องตรวจสอบพาลินโดรมนี้
- พิมพ์หรือวางคำ วลี หรือตัวเลขลงในช่องป้อนข้อมูล
- ผลลัพธ์จะแสดงทันที: "Yes, it's a palindrome!" หรือ "No, not a palindrome."
- อ่านบรรทัด "Cleaned text" เพื่อดูข้อความที่นำมาเปรียบเทียบอย่างชัดเจน
- คลิกตัวอย่างใดตัวอย่างหนึ่งเพื่อทดสอบได้ทันที
- ใช้ "Reset" เพื่อล้างข้อมูลที่ป้อนและเริ่มใหม่
การตรวจสอบทำงานในเบราว์เซอร์ ไม่มีการส่งข้อความไปยังเซิร์ฟเวอร์
เครื่องตรวจสอบพาลินโดรมทำงานอย่างไร
เครื่องมือนี้ทำงานเป็นสองขั้นตอน
ขั้นตอนที่ 1: ทำความสะอาดข้อความ
ก่อนการเปรียบเทียบ ข้อความจะถูกทำความสะอาดดังนี้
- อักษรที่มีเครื่องหมายกำกับจะถูกแปลงเป็นอักษรพื้นฐานธรรมดา É จะกลายเป็น e และ á จะกลายเป็น a
- ข้อความจะถูกแปลงเป็นตัวพิมพ์เล็ก
- สิ่งที่ไม่ใช่ตัวอักษรหรือตัวเลขจะถูกลบออก รวมถึงช่องว่าง จุลภาค จุด และเครื่องหมายวรรคตอนอื่น ๆ
ขั้นตอนนี้เก็บตัวอักษรจากทุกอักษรภาษา ไม่ใช่เฉพาะตัวอักษร 26 ตัวที่ใช้ในภาษาอังกฤษ ข้อความอักษรซีริลลิก กรีก ฮีบรู และจีนจะถูกทำความสะอาดด้วยวิธีเดียวกัน จึงตรวจพบพาลินโดรมในภาษาอื่นได้อย่างถูกต้อง
ขั้นตอนที่ 2: เปรียบเทียบข้อความกับข้อความที่กลับลำดับ
ข้อความที่ทำความสะอาดแล้วจะถูกกลับลำดับและนำมาเปรียบเทียบกับข้อความต้นฉบับที่ทำความสะอาดแล้วทีละตัวอักษร หากทุกตำแหน่งตรงกัน ข้อความนั้นคือพาลินโดรม
สูตรพาลินโดรม
สำหรับสตริงที่ทำความสะอาดแล้ว S ซึ่งมีความยาว n ข้อความจะเป็นพาลินโดรมเมื่อ
S[i] = S[n − 1 − i] สำหรับทุกตำแหน่ง i ตั้งแต่ 0 ถึง n − 1
กล่าวอย่างง่าย ๆ คือ ตัวอักษรตัวแรกต้องตรงกับตัวอักษรตัวสุดท้าย ตัวที่สองต้องตรงกับตัวรองสุดท้าย และเป็นเช่นนี้ไปจนถึงกึ่งกลาง การตรวจสอบสตริงด้วยวิธีนี้ใช้เวลาแปรผันตามความยาวของสตริง เนื่องจากทั้งขั้นตอนการทำความสะอาดและขั้นตอนการเปรียบเทียบจะตรวจดูอักขระแต่ละตัวครั้งเดียว
ตัวอย่างพร้อมวิธีทำ
ลองพิจารณาประโยค "A man, a plan, a canal: Panama."
- ทำความสะอาด: แปลงตัวพิมพ์และลบเครื่องหมายวรรคตอนกับช่องว่าง ผลลัพธ์คือ
amanaplanacanalpanama - กลับลำดับข้อความที่ทำความสะอาดแล้ว:
amanaplanacanalpanama - เปรียบเทียบสตริงทั้งสอง สตริงตรงกัน ดังนั้นประโยคนี้จึงเป็นพาลินโดรม
ข้อความที่มีเครื่องหมายกำกับจะถูกจัดการในลักษณะเดียวกัน "Été" (ภาษาฝรั่งเศสแปลว่า "ฤดูร้อน") จะถูกทำความสะอาดเป็น ete เนื่องจากเครื่องหมายกำกับบน É ถูกแปลงเป็น e ธรรมดา เมื่อกลับลำดับ ete จะได้ ete อีกครั้ง จึงเป็นพาลินโดรม ประโยคภาษาสเปน "Dábale arroz a la zorra el abad" จะถูกทำความสะอาดเป็น dabalearrozalazorraelabad ซึ่งอ่านย้อนกลับได้เหมือนเดิมเช่นกัน
ตัวอย่างพาลินโดรม
คำ: racecar, level, radar, civic, kayak, noon, rotor, madam
วลี: "A man, a plan, a canal: Panama", "Was it a car or a cat I saw?", "Never odd or even", "Do geese see God"
ตัวเลข: 12,321, 1001, 45,654
การใช้งานทั่วไปของการตรวจสอบพาลินโดรม
- การสัมภาษณ์งานเขียนโปรแกรม การตรวจสอบพาลินโดรมเป็นแบบฝึกหัดมาตรฐานด้านการจัดการสตริง ใช้ทดสอบว่าผู้สมัครจัดการกรณีขอบ เช่น ข้อมูลว่าง อักขระเดี่ยว และตัวพิมพ์ใหญ่เล็กปะปนกันได้อย่างไร
- การตรวจสอบแบบฟอร์ม ระบบบางประเภทจะแจ้งเตือนชื่อผู้ใช้ รหัสสินค้า หรือหมายเลขประจำเครื่องที่เป็นพาลินโดรม เนื่องจากรูปแบบเหล่านี้คาดเดาได้ง่ายกว่า หรืออาจทำให้เครื่องสแกนบางชนิดสับสน
- เกมคำศัพท์และปริศนา ผู้ออกแบบปริศนาอักษรไขว้และเกมคำศัพท์ใช้พาลินโดรมเป็นคำตอบ เพราะผู้เล่นมักรู้สึกพอใจเมื่อค้นพบ
- การสอนการเขียนโปรแกรม การตรวจสอบพาลินโดรมเป็นแบบฝึกหัดระดับต้นที่ใช้กันทั่วไป เพราะผสานการจัดการสตริง ลูป และตรรกะเงื่อนไข โดยไม่ต้องใช้โครงสร้างข้อมูลขั้นสูง
- ชีววิทยาโมเลกุล ลำดับพาลินโดรมใน DNA จะอ่านได้เหมือนกันบนสายทั้งสอง เมื่ออ่านแต่ละสายไปในทิศทางเคมีเดียวกัน เอนไซม์จำกัดจำเพาะจะจดจำลำดับเหล่านี้และตัด DNA ที่ตำแหน่งดังกล่าว ซึ่งเป็นเทคนิคที่ใช้ทั่วไปในพันธุวิศวกรรม
ประวัติโดยย่อของพาลินโดรม
พาลินโดรมปรากฏในหลายวัฒนธรรมและหลายศตวรรษ ตารางคำซาเทอร์ ซึ่งเป็นตารางคำภาษาละตินที่อ่านว่า "SATOR AREPO TENET OPERA ROTAS," ถูกค้นพบที่เมืองปอมเปอี และมีอายุก่อนคริสต์ศักราช 79 อ่านได้เหมือนกันในสี่ทิศทาง ได้แก่ ซ้ายไปขวา ขวาไปซ้าย บนลงล่าง และล่างขึ้นบน
นักเขียนมองพาลินโดรมเป็นความท้าทายทางวรรณกรรมมาหลายศตวรรษ เจมส์ จอยซ์บัญญัติคำว่า "tattarrattat" ในนวนิยาย Ulysses เพื่อแทนเสียงเคาะประตู คำนี้มี 12 ตัวอักษร และมักถูกยกให้เป็นหนึ่งในพาลินโดรมคำเดี่ยวที่ยาวที่สุดในภาษาอังกฤษ
คำถามที่พบบ่อย
พาลินโดรมคืออะไร?
พาลินโดรมคือคำ วลี ตัวเลข หรือลำดับที่อ่านจากหน้าไปหลังและจากหลังไปหน้าได้เหมือนกัน เมื่อตัดช่องว่าง เครื่องหมายวรรคตอน และตัวพิมพ์ใหญ่ออก
เครื่องมือนี้ไม่นับช่องว่างและเครื่องหมายวรรคตอนใช่หรือไม่?
ใช่ ข้อความจะถูกทำความสะอาดก่อนการเปรียบเทียบ ดังนั้น "A man, a plan, a canal: Panama" จึงถูกระบุว่าเป็นพาลินโดรม แม้ประโยคดิบที่มีจุลภาคและทวิภาคจะไม่เหมือนกันเมื่ออ่านย้อนกลับ
รองรับอักษรมีเครื่องหมายกำกับและอักษรอื่นหรือไม่?
รองรับ อักษรที่มีเครื่องหมายกำกับจะถูกแปลงเป็นอักษรพื้นฐาน ดังนั้น é จะกลายเป็น e ก่อนการเปรียบเทียบ ระบบเก็บตัวอักษรจากทุกอักษรภาษา ไม่ใช่เฉพาะตัวอักษร 26 ตัวของภาษาอังกฤษ ดังนั้นข้อความภาษากรีก ซีริลลิก ฮีบรู หรือจีนจึงถูกทำความสะอาดและเปรียบเทียบด้วยวิธีเดียวกับข้อความภาษาอังกฤษ
มีการตรวจสอบตัวเลขว่าเป็นพาลินโดรมหรือไม่?
มีการตรวจสอบ ตัวเลขจะถูกเก็บไว้ระหว่างการทำความสะอาด ดังนั้นสตริงตัวเลข เช่น 12,321 หรือ 1001 จึงถูกตรวจสอบด้วยวิธีเดียวกับคำ
ตัวอักษรเดี่ยวเป็นพาลินโดรมหรือไม่?
เป็น อักขระเดี่ยวอ่านจากหน้าไปหลังและจากหลังไปหน้าได้เหมือนกันตามนิยาม ดังนั้นทั้ง "a" และ "I" จึงถือเป็นพาลินโดรม
พาลินโดรมกับแอนะแกรมแตกต่างกันอย่างไร?
พาลินโดรมอ่านจากหน้าไปหลังและจากหลังไปหน้าได้เหมือนกัน เช่น "radar" ส่วนแอนะแกรมคือการเรียงตัวอักษรของคำหรือวลีใหม่เพื่อสะกดเป็นคำอื่น เช่น "listen" และ "silent" แนวคิดทั้งสองไม่เกี่ยวข้องกัน