==========================努力奋斗财源广进==========================
对于长度为n的一个字符串A(仅包含数字,大小写英文字母),请设计一个高效算法,计算其中最长回文子串的长度。
import java.util.*;
public class Solution {
public int fun(String s, int begin, int end) {
//每个中心点开始扩展
while (begin >= 0 && end < s.length() && s.charAt(begin) == s.charAt(end)) {
begin--;
end++;
}
//返回长度
return end - begin - 1;
}
public int getLongestPalindrome (String A) {
int maxlen = 1;
//以每个点为中心
for (int i = 0; i < A.length() - 1; i++)
//分奇数长度和偶数长度向两边扩展
maxlen = Math.max(maxlen, Math.max(fun(A, i, i), fun(A, i, i + 1)));
return maxlen;
}
}
//待定
评论区记录复习记录
评论