题解 | #最长回文子串#提供一种很容易理解的代码

最长回文子串

https://www.nowcoder.com/practice/b4525d1d84934cf280439aeecc36f4af


    public int getLongestPalindrome (String A) {
        // write code here
        if(A.length()==1) return 1;
        int res=0;
        int l,r=0;

        for(int i=1;i<A.length();i++){
            for(int j=0;j<i;j++){
                l=i;r=j;
                if(A.charAt(i)!=A.charAt(j)) continue;
                else{//对每个字串都看是否是回文
                    while(l>r){
                        if(A.charAt(l)==A.charAt(r)){
                            l--;r++;
                        }else{
                            break;
                        }
                    }
                    if(l<=r) res=Math.max(res,i-j+1);                   
                }
            }
        }
        res=Math.max(res,1);//最短也得是1,不可能是0
        return res;

    }

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务