บทนำ
การปิด palindromic ของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่สามารถสร้างขึ้นจากสตริงอินพุตที่ palindrome สุดท้ายเริ่มต้นด้วยสตริงอินพุต
สำหรับความท้าทายนี้เราจะพิจารณาการปิด palindromic แบบสองทางเช่นนั้น
- การปิด Palindromic ด้านซ้ายของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่เป็นไปได้ที่เริ่มต้นด้วยสตริงอินพุต
- การปิด Palindromic ที่ถูกต้องของสตริงอินพุตคือ palindrome ที่สั้นที่สุดที่เป็นไปได้ซึ่งลงท้ายด้วยสตริงอินพุต
- การปิด Palindromic แบบสองทางของสตริงอินพุตนั้นสั้นกว่าของการปิด Palindromic ซ้ายหรือขวาของสตริงอินพุต
งาน
งานของคุณง่าย รับสตริง (ประกอบด้วย ASCII ที่พิมพ์ได้เท่านั้น, บรรทัดใหม่และช่องว่างสีขาว), ส่งออกการปิด palindromic แบบสองทางของสตริงนั้น ในกรณีที่มีการเสมอกันการปิด Palindromic ด้านซ้ายหรือขวานั้นเป็นผลลัพธ์ที่ถูกต้อง
คุณสามารถเขียนโปรแกรมหรือฟังก์ชันรับอินพุตผ่าน STDIN (หรือทางเลือกที่ใกล้เคียงที่สุด) อาร์กิวเมนต์บรรทัดคำสั่งหรืออาร์กิวเมนต์ฟังก์ชันและพิมพ์ผลลัพธ์ไปที่ STDOUT (หรือทางเลือกใกล้เคียงที่สุด) หรือส่งคืนเป็นสตริง
คุณสามารถสันนิษฐานได้ว่าอินพุตจะไม่เป็นสตริงว่าง
ตัวอย่างไม่กี่:
<Input> -> <Output>
"abcdef" -> "abcdefedcba" (or "fedcbabcdef")
"abcba" -> "abcba"
"abcb" -> "abcba"
"cbca" -> "acbca"
เครดิตเริ่มต้นของ Idea ไปที่ VisualMelon ซึ่งเป็นความคิดสุดท้ายด้วยความช่วยเหลือจาก Martin และ Zgarb
ข้อตกลงปิด palindromic ปิด pallindromic ซ้ายและปิด palindromic ขวาถูกใช้ครั้งแรกและกำหนดโดยกระดาษนี้