Given a string s, partition it so that every substring of the partition is a palindrome. Return the minimum number of cuts needed.
Input: A quoted string s.
Output: Integer — minimum cuts.
Input: "aab"
Output: 1
Explanation: ['aa','b'] needs one cut.Input: "a"
Output: 0
Explanation: Already a palindrome.Input: "abc"
Output: 2
Explanation: ['a','b','c'].1<=s.length<=2000