5. 最长回文子串

 1 //左右同时走,如果相等,更新最大值
 2 class Solution 
 3 {
 4 public:
 5     string longestPalindrome(string s) 
 6     {
 7         int res = 0;
 8         string str;
 9         for(int i = 0;i < s.size();i++)
10         {
11             for(int j = i,k = i + 1;j >= 0 && k < s.size() && s[j] == s[k];j--,k++)
12             {
13                 if(res < k - j + 1) 
14                 {
15                     str = s.substr(j,k - j + 1);
16                     res = k - j + 1;
17                 }
18             }
19 
20             for(int j = i,k = i;j >= 0 && k < s.size() && s[j] == s[k];j--,k++)
21             {
22                 if(res < k - j + 1) 
23                 {
24                     str = s.substr(j,k - j + 1);
25                     res = k - j + 1;
26                 }
27             }
28         }
29         return str;
30     }
31 };

 

posted @ 2020-03-15 18:12  Jinxiaobo0509  阅读(96)  评论(0)    收藏  举报