题解 | #最长回文子串#

最长回文子串

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
        int num = 1;
        for (int i = 0 ; i < A.length() - 1; i++) {
            char a = A.charAt(i);
            for (int j = i + 1; j < A.length(); j++) {
                if (A.charAt(j) == a) {
                    int now = 2;
                    int left = i + 1;
                    int right = j - 1;
                    while (left < right) {
                        if (A.charAt(left) == A.charAt(right)) {
                            now += 2;
                        } else {
                            now = 1;
                            break;
                        }
                        left++;
                        right--;
                    }
                    if (left == right) {
                        now++;
                    }
                    num = Math.max(num, now);
                }
            }

        }
        return num ;
    }
}

全部评论
楼主这种风格和我很像
点赞 回复 分享
发布于 2023-05-29 09:33 上海
还能更完美的解题吗
点赞 回复 分享
发布于 2023-05-29 09:42 广东

相关推荐

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