一、题目叙述:
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
二、解题思路:
吼笨呦,刚说leetcode不限时,今天做这道就碰上超时了,而且题意还理解错了。。。酔,这道题!是让求最长回文字串哒,用暴力的方法遍历所有字符串再判断是否是回文复杂度得是N3了,一定会超时,所以用了动态规划(然并卵,我这个题是搜的,抽空补下动态规划)。就是使用一个二维boolean型数组存放路径状况,即当tan[i][j]为true时,表明i到j为回文子串;判断i到j是否为一个回文字串时,需满足sto[i]==sto[j]并且tan[i+1][j-1]==true;由此输出最长的回文字串即可。
这题我提交了好几次,刚开始用动态规划也超时,后来改了改,合并了两个for循环(给tan[][]数组赋初值),结果就过了,说明复杂度这事需要处处留心呵。
三、源源源码: