introduzione
Per quelli che non lo sanno, un palindromo è quando una stringa è uguale alla stringa all'indietro (ad eccezione di interpunzione, spazi, ecc.). Un esempio di palindromo è:
abcdcba
Se si inverte questo, si finirà con:
abcdcba
Che è lo stesso Pertanto, lo chiamiamo palindromo. Per palindromizzare le cose, diamo un'occhiata a un esempio di stringa:
adbcb
Questo non è un palindromo. Per palindromizzare questo, abbiamo bisogno di unire la stringa invertita nella stringa iniziale alla destra della stringa iniziale , lasciando intatte entrambe le versioni. Più corto, meglio è.
La prima cosa che possiamo provare è la seguente:
adbcb
bcbda
^^ ^^
Non tutti i caratteri corrispondono, quindi questa non è la posizione giusta per la stringa invertita. Facciamo un passo verso destra:
adbcb
bcbda
^^^^
Anche questo non corrisponde a tutti i personaggi. Facciamo un altro passo verso destra:
adbcb
bcbda
Questa volta, tutti i personaggi corrispondono . Possiamo unire entrambe le stringhe lasciando intatte . Il risultato finale è:
adbcbda
Questa è la stringa palindromizzata .
L'obiettivo
Data una stringa (con almeno un carattere) contenente solo lettere minuscole (o maiuscole, se si adatta meglio), genera la stringa palindromizzata .
Casi test
Input Output
abcb abcba
hello hellolleh
bonobo bonobonob
radar radar
hex hexeh
Questo è code-golf , quindi vince l'invio con il minor numero di byte!
obonobo
sarebbe una soluzione migliore al caso di test.
bono b o nob
è un'intera frase. Qual è la differenza tra God e Bono? Dio non gira per Dublino fingendo di essere Bono ;-)