求一个字符串中的最长回文串(Java)
Posted shlsm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个字符串中的最长回文串(Java)相关的知识,希望对你有一定的参考价值。
package huiwenchuan;
import java.util.Scanner;
public class Main {
//判断一个字符串是否为回文串
public static boolean isHuiWen(String s)
{
int len=s.length();
for(int i=0;i<len/2;i++)
{
if(!(s.charAt(i)==s.charAt(len-i-1)))
{
return false;
}
}
return true;
}
/**
* 求一个字符串中的最长回文串
*/
static String maxPalindromeString(String str)
{
String maxStr = null;//保存最长回文串
int len = 0;//保存回文串长度
int maxLen=0;//保存最长回文串的长度
for(int i=0;i<str.length();i++)
{
for(int j=i+1;j<=str.length();j++)
{
String s=str.substring(i, j);
if(Main.isHuiWen(s))
{
len=s.length();
}
if(len>maxLen)
{
maxLen=len;
maxStr=s;
}
len=0;
}
}
return maxStr;
}
public static void main(String[] args) {
String str;
Scanner sca=new Scanner(System.in);
str=sca.next();
String maxPalStr=maxPalindromeString(str);
System.out.println(maxPalStr);
}
}
以上是关于求一个字符串中的最长回文串(Java)的主要内容,如果未能解决你的问题,请参考以下文章