146: Palindrome partitioning 2

Дана строка, разбейте данную строку чтобы каждая подстрока была палиндромом. Верните все возможные разбиения

 

Пример 1

Input:   ab

Output:  [["a", "b"]]

Пример 2

Input:   aaccb 

Output:  [
            ["a", "a", "c", "c", "b"],
            ["a", "a", "cc", "b"],
            ["aa", "c", "c", "b"],
            ["aa", "cc", "b"]
         ]
Difficulty:Medium
Topic:Backtracking
Problem #:146