题解 | #最长回文子串#

最长回文子串

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    public int getLongestPalindrome (String A) {
        // write code here

        String longestPalidromStr = "";

        //常规方法
        for(int i=0; i<A.length(); i++){
            for(int j=i+1; j<=A.length(); j++){
                String subStr = A.substring(i, j);
                if(ispPalidromStr(subStr) && subStr.length()>longestPalidromStr.length()){
                    longestPalidromStr = subStr;

                }

            }

        }

        System.out.println(longestPalidromStr);






    return longestPalidromStr.length();


    }



    // public boolean ispPalidromStr(String s){
    //     //转换位小写
    //     s = s.replaceAll("\\s", "").toLowerCase();

    //     int left = 0;
    //     int right = s.length()-1;

    //     while(left < right){
    //         if(s.charAt(left) != s.charAt(right)){
    //             return false;
    //         }

    //         left ++;
    //         right--;

    //     }
    //     return true;

    // }


    //这个效率更高更快
    public boolean ispPalidromStr(String s){
        //转换位小写
        s = s.replaceAll("\\s", "").toLowerCase();
        StringBuilder reverseStr = new StringBuilder(s).reverse();
        return reverseStr.toString().equals(s);

    }





}

全部评论

相关推荐

码农顶针:估计让你免费辅导老板孩子的学习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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