题目 给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 长度最长为1000。
示例:
输入: "babad"
输出: "bab"
注意: "aba"也是有效答案
复制代码
示例:
输入: "cbbd"
输出: "bb"
检查每个字符串是否是回文子串,并比较每个回文子串的长度。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s=sc.next();
System.out.println(f(s));
}
}
public static String f(String s){
String str="";
int len=0;
for (int i = 0; i <= s.length()-1; i++) {
for (int j = i+1; j <= s.length(); j++) {
if(check(s.substring(i,j))){
if(j-i>len){
len=j-i;
str=s.substring(i, j);
}
}
}
}
return str;
}
public static boolean check(String s){
int i=0;
int j=s.length()-1;
while(i<=j){
if(s.charAt(i)==s.charAt(j)){
i++;
j--;
}else{
return false;
}
}
return true;
}
}