http://www.nxcoding.com/archives/leetcode-daily-132-palindrome-partitioning-ii