题解 | #验证IP地址#

验证IP地址

https://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880

using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 验证IP地址
     * @param IP string字符串 一个IP地址字符串
     * @return string字符串
     */
    public static bool IsIPv4(string IP) {
        string[] temp = IP.Split(".");
        if (temp.Length != 4) return false;
        foreach (var str in temp) {
            if (str.Length == 0) return false;
            if (str[0] == '0' && str.Length > 1) return false;
            if (int.TryParse(str, out int r)) {
                if (!(int.Parse(str) >= 0 && int.Parse(str) <= 255))
                    return false;
            }
            foreach (var item in str) {
                if (item < '0' || item > '9')
                    return false;
            }
        }
        return true;
    }
    public static bool IsIPv6(string IP) {
        string[] temp = IP.Split(":");
        if (temp.Length != 8) return false;
        foreach (var str in temp) {
            if (str.Length == 0) return false;
            if (str.Length > 4) return false;
            foreach (var item in str) {
                if (!(item >= '0' && item <= '9' || item >= 'a' && item <= 'f' || item >= 'A' &&
                        item <= 'F')) {
                    return false;
                }
            }
        }
        return true;
    }
    public string solve(string IP) {
        // write code here
        if (IP.Length == 0) return "Neither";
        if (IsIPv4(IP)) return "IPv4";
        else if (IsIPv6(IP)) return "IPv6";
        return "Neither";
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
牛客38347925...:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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