Longest Palindromic Substring

链接

class Solution{
public String longestPalindrome(String s) {
    //字符串转数组
   char[] chars = s.toCharArray();
   int len = s.length();
    //记录回文数组长度,而不是开头和结尾,从外圈向内圈包围,不断缩小范围
   while (len >= 0) {
       for (int i = 0; i + len - 1 < chars.length; i++) {
           int left = i;
           int right = i + len - 1;
                     // true小写
           boolean good = true;
           while (left < right) {
               if (chars[left] != chars[right]) {
                                 //false小写
                   good = false;
                   break;
               }
                             //外层符合条件,向内圈收拢
               left++;
               right--;
           }
                     //全部检测符合规定
           if (good)
               // substring(a,b) 不包含b
               return s.substring(i, i + len);
       }
             //这么长是不可能了,降低长度要求
       len--;
   }
   return "";
}
}

你可能感兴趣的:(Longest Palindromic Substring)