最长回文子串

来源:互联网 发布:卡通农场 挂机软件 编辑:程序博客网 时间:2024/06/05 02:25

题目描述

对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。

给定字符串A以及它的长度n,请返回最长回文子串的长度。

测试样例:
"abc1234321ab",12
返回:7
import java.util.*;public class Palindrome {    public int getLongestPalindrome(String a, int n) {                if(a==null||a.length()==0)                        return 0;               StringBuilder sb = new StringBuilder();               sb.append("#");                       for(int j=0;j<n;j++){                      sb.append(a.charAt(j));                      sb.append("#");                  }                a = sb.toString();                int max = 0;                for(int i = 0;i < a.length();i++){                        int count = 1;                        while(i-count>=0&&i+count<a.length()&&(a.charAt(i-count)==a.charAt(i+count)))                               {                                 count++;            }                          max =  max > count ? max:count;                    }                        return max-1;                    }}

0 0
原创粉丝点击