Einführung
Ein palindromischer Abschluss einer Eingabezeichenfolge ist das kürzeste Palindrom, das aus der Eingabezeichenfolge konstruiert werden kann, wobei das letzte Palindrom mit der Eingabezeichenfolge beginnt.
Für diese Herausforderung werden wir einen Zwei-Wege-Palindromverschluss in Betracht ziehen, so dass
- Palindrom links Das Schließen einer Eingabezeichenfolge ist das kürzestmögliche Palindrom, das mit der Eingabezeichenfolge beginnt.
- Right Palindromic Closure einer Eingabezeichenfolge ist das kürzeste mögliche Palindrom, das mit der Eingabezeichenfolge endet.
- Der bidirektionale palindromische Abschluss einer Eingabezeichenfolge ist der kürzere Wert für den linken oder rechten palindromischen Abschluss der Eingabezeichenfolge.
Aufgabe
Ihre Aufgabe ist einfach. Geben Sie bei einer Zeichenfolge (die nur aus druckbarem ASCII, neuen Zeilen und Leerzeichen besteht) den bidirektionalen palindromischen Abschluss dieser Zeichenfolge aus. Bei Gleichstand ist entweder der linke oder der rechte palindromische Verschluss ein gültiger Ausgang.
Sie können ein Programm oder eine Funktion schreiben, Eingaben über STDIN (oder die nächstgelegene Alternative), ein Befehlszeilenargument oder ein Funktionsargument vornehmen und das Ergebnis entweder an STDOUT (oder die nächstgelegene Alternative) ausgeben oder als Zeichenfolge zurückgeben.
Sie können davon ausgehen, dass die Eingabe niemals eine leere Zeichenfolge sein wird.
Einige Beispiele:
<Input> -> <Output>
"abcdef" -> "abcdefedcba" (or "fedcbabcdef")
"abcba" -> "abcba"
"abcb" -> "abcba"
"cbca" -> "acbca"
Der erste Preis für die Idee geht an VisualMelon, die endgültige Idee mit Hilfe von Martin und Zgarb
Die Begriffe palindromischer Verschluss, links-pallindromischer Verschluss und rechts-palindromischer Verschluss wurden in dieser Arbeit zuerst verwendet und definiert .