题解 | #最长回文子串#

最长回文子串

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String s = sc.nextLine();
            int res = 0;
            //截取宽度,最大为整个字符串,由于subString截取时,最后一位不选取,所以不需要length - 1
            for (int i = 1; i <= s.length(); i++) {
                //以各个位置为开始,subString截取问题,i从1开始,最大值仍然不需要 -1
                for (int j = 0; j <= s.length() - i; j++) {
                    int len = 0;
				  //反转后仍然相等
                    StringBuilder builder = new StringBuilder(s.substring(j, j + i));
                    if(builder.toString().equals(builder.reverse().toString())) {
                        res = i;
                        break;//一旦当前i值发现即可返回,因为后面即使有,大小也一样
                    }
                }
            }
            System.out.println(res);
        }
    }
}

全部评论

相关推荐

04-14 20:10
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务