Wprowadzenie
Dla tych, którzy nie wiedzą, palindrom ma miejsce, gdy ciąg znaków jest równy ciągowi wstecz (z wyjątkiem interpunkcji, spacji itp.). Przykładem palindromu jest:
abcdcba
Jeśli to odwrócisz, otrzymasz:
abcdcba
Który jest taki sam. Dlatego nazywamy to palindromem. Aby palindromize rzeczy, spójrzmy na przykład ciągu:
adbcb
To nie jest palindrom. Aby palindromizować to, musimy scalić odwrócony ciąg w początkowy ciąg po prawej stronie początkowego ciągu , pozostawiając obie wersje nienaruszone. Im krótszy, tym lepiej.
Pierwszą rzeczą, którą możemy wypróbować, jest:
adbcb
bcbda
^^ ^^
Nie wszystkie znaki pasują, więc nie jest to właściwa pozycja dla odwróconego łańcucha. Idziemy o krok w prawo:
adbcb
bcbda
^^^^
To również nie pasuje do wszystkich znaków. Idziemy o krok dalej w prawo:
adbcb
bcbda
Tym razem wszystkie postacie pasują do siebie . Możemy połączyć oba ciągi, pozostawiając nienaruszone . Ostateczny wynik to:
adbcbda
To jest palindromized string .
Zadanie
Biorąc pod uwagę ciąg (zawierający co najmniej jeden znak) zawierający tylko małe litery (lub wielkie litery, jeśli lepiej to pasuje), wypisz ciąg palindromized .
Przypadki testowe
Input Output
abcb abcba
hello hellolleh
bonobo bonobonob
radar radar
hex hexeh
To jest golf golfowy , więc wygrywanie z najmniejszą ilością bajtów wygrywa!
obonobo
byłoby lepszym rozwiązaniem przypadku testowego.
bono b o nob
to całe zdanie. Jaka jest różnica między Bogiem a Bono? Bóg nie błąka się po Dublinie udając Bono ;-)