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 };
Mamba never out

浙公网安备 33010602011771号