<pre name="code" class="cpp">int LongestPalindrome(string s) { int max=0; if (s.length() >= 1) { for(int i=0;i<s.length();i++) { int l; for(l=0;(i-l>=0 && i+l<s.length());l++) { if(s[i-l]!=s[i+l]) break; } if(2*(l-1)+1>max) max=2*(l-1)+1; for(l=0;(i+l+1<s.length() && i-1>=0);l++) { if(s[i-l]!=s[i+l+1]) break; } if(2*(l-1)>max) max=2*(l-1); } } return max; }
原文地址:http://blog.csdn.net/a781558066/article/details/45287771