Einführung
Für diejenigen, die es nicht wissen, ist ein Palindrom, wenn eine Zeichenfolge der Zeichenfolge in Rückwärtsrichtung entspricht (mit Ausnahme von Interpunction, Leerzeichen usw.). Ein Beispiel für ein Palindrom ist:
abcdcba
Wenn Sie dies umkehren, erhalten Sie:
abcdcba
Welches ist das gleiche. Deshalb nennen wir dies ein Palindrom. Sehen wir uns zum Palindromisieren ein Beispiel für eine Zeichenfolge an:
adbcb
Dies ist kein Palindrom. Um dies zu palindromisieren, müssen wir die umgekehrte Zeichenfolge mit der Anfangszeichenfolge rechts von der Anfangszeichenfolge zusammenführen , wobei beide Versionen intakt bleiben. Je kürzer, desto besser.
Das erste, was wir versuchen können, ist das Folgende:
adbcb
bcbda
^^ ^^
Da nicht alle Zeichen übereinstimmen, ist dies nicht die richtige Position für die umgekehrte Zeichenfolge. Wir gehen einen Schritt nach rechts:
adbcb
bcbda
^^^^
Dies stimmt auch nicht mit allen Zeichen überein. Wir gehen noch einen Schritt nach rechts:
adbcb
bcbda
Dieses Mal stimmen alle Zeichen überein . Wir können fusionieren beide String Verlassen des intakten . Das Endergebnis ist:
adbcbda
Dies ist die palindromisierte Zeichenfolge .
Die Aufgabe
Wenn eine Zeichenfolge (mit mindestens einem Zeichen) nur Kleinbuchstaben enthält (oder wenn dies besser passt, Großbuchstaben), geben Sie die palindromisierte Zeichenfolge aus .
Testfälle
Input Output
abcb abcba
hello hellolleh
bonobo bonobonob
radar radar
hex hexeh
Das ist Code-Golf , also gewinnt die Einsendung mit der geringsten Anzahl von Bytes!
obonobo
wäre das eine bessere Lösung für den Testfall.
bono b o nob
ist ein ganzer Satz. Was ist der Unterschied zwischen Gott und Bono? Gott irrt nicht durch Dublin und gibt vor, Bono zu sein ;-)