最长回文子串(Java实现)

最长回文子串(Java实现),第1张

本文采用中心拓展法,奇数子串和偶数子串分开处理。

-------------------------------------------------------
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);

    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/742223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-28
下一篇 2022-04-28

发表评论

登录后才能评论

评论列表(0条)

保存