题解 | #验证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"; } }