39. Palindrome Partitioning II

Given a string s, partition s such that every substring of the partition is a palindrome.

Return the minimum cuts needed for a palindrome partitioning of s.

Example 1:

Input: s = "aab"
Output: 1
Explanation: The palindrome partitioning ["aa","b"] could be produced using 1 cut.

Example 2:

Input: s = "a"
Output: 0

Example 3:

Input: s = "ab"
Output: 1

Solution:

Approach 1: Use dynamic programming to calculate the no of splits needed for each possible substring In worst case the time complexity will be O(n^3)

Solution:

Approach 2: Use a 2d array to check for palindrome and 1d array to count maxSplits

Time Complexity: O(n^2)

Last updated

Was this helpful?