题解 | #最长回文子串#
最长回文子串
http://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af
import java.util.*;
public class Solution {
public int getLongestPalindrome(String A, int n) {
// write code here
//给个初始最大长度,如果比我大则交换
int res = 0;
//暴力判断
for(int i=0;i<=n;i++){
//注意由于截取字符串取头不取尾,所以可以=n
for(int j=i+1;j<=n;j++){
String str = A.substring(i,j);
if(isTrue(str)){
res = Math.max(j-i,res);
}
}
}
return res;
}
//传入字数串参数,判断字符串是否为回文串
public boolean isTrue(String str){
int start,end;
start = 0;
end = str.length()-1;
char[] arr = str.toCharArray();
boolean flag = true;
while(start<end){
//字符串如果有两个对称的字符不相等则不是回文串
if(arr[start]!=arr[end]){
flag = false;
break;
}
start++;
end--;
}
return flag;
}
}