Given a string s, partition it so that every substring of the partition is a palindrome. Return all possible palindrome partitionings.
Partitions are listed in the order produced by exploring shorter leading cuts first.
We use analytics and advertising cookies to understand how the site is used and whether our ads on Facebook and Instagram work. They are set only if you accept. See our Privacy Policy for details.
Given a string s, partition it so that every substring of the partition is a palindrome. Return all possible palindrome partitionings.
Partitions are listed in the order produced by exploring shorter leading cuts first.
A medium backtracking problem, graded against 6 test cases (4 of them hidden).
Systematic exploration of all candidates, abandoning partial ones that cannot work.
Reach for it when you see: "All permutations/combinations/subsets", or constraint puzzles like N-Queens and Sudoku.
More Backtracking problems →Backtracking with palindrome check. From `start`, extend `end` and whenever `s[start..end]` is a palindrome, take it as the next piece and recurse from `end + 1`. When `start` reaches the end, record the partition.
Time: O(n·2ⁿ). Space: O(n).
The full reference solution in every supported language stays in the editor above - reveal it there once you have had a real attempt.
These apply to the pattern as a whole, not just this problem.