Palindrome Partitioning

Gegeben ist ein String s. Deine Aufgabe besteht darin, s so in Teilstrings zu unterteilen, dass jeder Teilstring ein Palindrom ist. Gib alle möglichen Palindrom-Zerlegungen von s zurück, wobei die Teilstrings durch das Zeichen | getrennt werden. Die Reihenfolge der Zerlegungen kann beliebig sein.
Ein Palindrom ist ein String, der vorwärts und rückwärts gleich gelesen wird.

Eingabe

Die Eingabe besteht aus genau einem String s (1 ≤ |s| ≤ 16), der nur aus Kleinbuchstaben des Englischen Alphabets besteht.

Ausgabe

Gib eine Liste aller möglichen Palindrom-Zerlegungen von s zurück. Jede Zerlegung soll als String dargestellt werden, in dem die Teilstrings durch das Zeichen | getrennt sind. Die Reihenfolge der Zerlegungen in der Ausgabeliste kann beliebig sein.

Beispiele

Eingabe
Ausgabe
aab
a
aba
a

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue