本文采用中心拓展法,奇数子串和偶数子串分开处理。
------------------------------------------------------- import java.util.Scanner; public class Solution { public static String longestPalindrome(String s) { //非空判断 if((s==null)||(s.length()==0)) return null; //将字符串转换为字符数组 char[] arr=s.toCharArray(); int first=0; int end=0; //查找奇数位的回文串 for(int i=0;i=0)&&(lateend-first) { first=pre+1; end=late-1; } } //查找偶数位的回文串 for(int i=0;i=0)&&(lateend-first) { first=pre+1; end=late-1; } } } //查找结束 将数组转化为字符串返回 return String.valueOf(arr,first,end-first+1); } public static void main(String[] args){ System.out.println("请输入一段字符串:"); Scanner scan=new Scanner(System.in); String word=longestPalindrome(scan.nextLine()); System.out.println("该字符串中的回文子串:"+word); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)