NC17 最长回文子串
描述
对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
给定字符串A以及它的长度n,请返回最长回文子串的长度。
示例1
输入:
“abc1234321ab”,12
复制
返回值:
7
import java.util.*;
public class Solution {
public int getLongestPalindrome(String A, int n) {
// write code here
if(n < 2){
return n ;
}
int maxlen = 0 ;
for(int left = 0 ; left < A.length() ; left++){
for(int right = 0 ; right < A.length() ; right++){
if(maxlen > right - left + 1){
continue ;
}
boolean isp = isp(A , left , right) ;
if(isp){
maxlen = right - left + 1 ;
}
}
}
return maxlen ;
}
public boolean isp(String A , int left , int right){
for(int i = left , j = right ; i < j ; i++ , j--){
if(A.charAt(i) != A.charAt(j)){
return false ;
}
}
return true ;
}
}