Java 最优题解| #最长回文子串#

最长回文子串

https://www.nowcoder.com/practice/12e081cd10ee4794a2bd70c7d68f5507

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        Scanner input = new Scanner(System.in);
        String s = input.nextLine();
        int max = 0;

        for (int i = 0; i < s.length(); i++) 
            for (int j = s.length() - 1; j - i > max; j--) 
                if (isPalindromeString(s, i, j)) max = Math.max(max, j - i + 1);

        System.out.print(max);
    }
    
    static boolean isPalindromeString(String s, int head, int tail) {
        while (head < tail) if (s.charAt(head++) != s.charAt(tail--)) return false;
        return true;
    }
}

双重for剪枝 + 无复制判断

全部评论

相关推荐

11-09 11:01
济南大学 Java
Java抽象带篮子:外卖项目真得美化一下,可以看看我的详细的外卖话术帖子
点赞 评论 收藏
分享
10-31 14:54
已编辑
门头沟学院 算法工程师
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
评论
点赞
1
分享
牛客网
牛客企业服务