HJ90 合法IP | 题解

将地址分为多个块,然后逐块进行验证。仅当每个块都有效时,该地址才有效。这种方法称为 分治法
通过界定符将地址分为四块,对于地址的每一块,检查它们是否在 0 - 255 内,且没有前置零。
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            String[] nums = in.next().split("\\.", -1);
            String res = "YES";
            if (nums.length == 4) {
                for (String num : nums) {
                    if (num.length() == 0 || num.length() > 3) {
                        res = "NO";
                        break;
                    }
                    if (num.charAt(0) == '0' && num.length() != 1) {
                        res = "NO";
                        break;
                    }
                    for (char ch : num.toCharArray()) {
                        if (!Character.isDigit(ch)) {
                            res = "NO";
                            break;
                        }
                    }
                    if (Integer.parseInt(num) > 255) {
                        res = "NO";
                        break;
                    }
                }
            } else
                res = "NO";
            System.out.println(res);
        }
    }
}


全部评论

相关推荐

uu们,拒offer时hr很生气怎么办我哭死
爱睡觉的冰箱哥:人家回收你的offer,或者oc后没给你发offer的时候可不会愧疚你,所以你拒了也没必要愧疚他。
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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