欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

最长回文串

程序员文章站 2024-02-25 09:24:10
...

dp[i][j]表示已i开头和以j结尾的字符串是回文串

public static void main(String[] args){
		String str="abcvovabe";
		System.out.println(longest(str));
	}
	public static String longest(String str){
		if(str==null||str.length()<1){
			return str;
		}
		int n=str.length();
		int start=0;
		int end=0;
		boolean[][] dp=new boolean[n][n];
		for(int i=0;i<str.length();i++){
			for(int j=0;j<str.length()-i;j++){
				if(i==0||(str.charAt(j)==str.charAt(i+j)&&(i==1||dp[j+1][i+j-1]))){
					dp[j][i+j]=true;
					start=j;
					end=i+j;
				}
			}
		}
		return str.substring(start,end+1);
	}

 

相关标签: 最长回文串