题解 | #最长回文子串#

最长回文子串

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param A string字符串 
     * @return int整型
     */
    public int getLongestPalindrome (String A) {
        int max = Integer.MIN_VALUE;
        for(int i = 0; i < A.length(); i++){
            max = Math.max(max, Math.max(getMaxLen(A, i, i), getMaxLen(A, i, i+1))); // 第二个适用于长度为偶数时
        }
        return max;
    }
    private int getMaxLen(String s, int left, int right){
        while(left >= 0 && right < s.length() && s.charAt(left) == s.charAt(right)){
            left--;
            right++;
        }
        return right - left - 1;
    }
}

从中心向两边扩散

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务