最长回文数

一.描述

给定一个字符串 s,找到 s 中最长的回文子串。

二.代码

public String longestPalindrome(String s) {
         if (s == null || s.length() == 0) {
            return "";
        }
        int longest=s.length();
        int start=0;

        while(longest>0)
        {
            int i=0;
            start=i;
            int j=i+longest-1;
            boolean exit=true;
            while(i<j)
            {
                if(s.charAt(i)==s.charAt(j))
                {
                    i++;
                    j--;
                }else
                {

                    i=start+1;
                    if(i+longest>s.length())
                    {
                        exit=false;
                        break;
                    }
                    start=i;
                    j=i+longest-1;
                }
            }
            if(exit)
            {
                break;
            }
            longest--;
        }
        return s.substring(start,start+longest);
        
    }
发布了5 篇原创文章 · 获赞 2 · 访问量 963

猜你喜欢

转载自blog.csdn.net/Andrew_2018/article/details/103106975