leetcode - Longest Palindromic Substring
2013-04-26 15:48 张汉生 阅读(205) 评论(0) 编辑 收藏 举报题目描述:点击此处
1 class Solution { 2 public: 3 int minInt (int a, int b){ 4 return a<=b?a:b; 5 } 6 string longestPalindrome(string s) { 7 // Start typing your C/C++ solution below 8 // DO NOT write int main() function 9 string rlt = ""; 10 if (s.length()<=0) 11 return ""; 12 int i, j; 13 int len = s.length(); 14 for (i=0; i<len; i++){ 15 int l = minInt (i+1, len-i-1); 16 int k = minInt (i, len-i-1); 17 if (2*l<=rlt.length() && 2*k+1<=rlt.length()) 18 break; 19 for (j=0; j<l; j++){ 20 if (s.at(i-j) != s.at(i+j+1)) 21 break; 22 } 23 if (rlt.length()<j*2) 24 rlt = s.substr(i-j+1, j*2); 25 for (j=0; j<k; j++){ 26 if (s.at(i-j-1) != s.at(i+j+1)) 27 break; 28 } 29 if (rlt.length()<j*2+1) 30 rlt = s.substr(i-j, j*2+1); 31 } 32 return rlt; 33 } 34 };