Longest Palindromic Substring
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.
Example 1:
1 | Input: "babad" |
Example 2:
1 | Input: "cbbd" |
思路:想到了定义一个辅助函数来判断输入字符串是不是回文串,然后在输入字符串中循环遍历找到头尾相同的字符串选中调用辅助函数进行判断,如果子串是回文串就将该串记录下来,以后得到的每个子串和之前记录的最大的子串长度max进行比较,如果有大于max的子串,将max子串更新为该子串,最后返回max子串即可。
代码如下:最后超时了。还需优化
1 | class Solution { |
对上述代码做优化:发现可以优化的地方是对子字符串做是否是回文的判断时,可以不用每一次都做截取操作,只截取判断后是回文的子字符串,这样可以减少很多的截取操作,但是相应的也要更改判断回文的函数。具体代码如下:优化后的代码通过了所有的测试用例。
1 | class Solution { |