[Leetcode学习-java]Validate IP Address(IP地址校验)

时间:2025-03-11 10:41:08

问题:

难度:easy

说明:

我看题目本来以为是什么特别的算法,不过似乎都是业务做法,就是验证ipv4和ipv6,两种地址有不同特征

ipv4:0 ~ 255,不超过3位数,每个数字开头不带0,4串数组成,用 '.' 进行分割,以数字开头或者结尾。

ipv6:0 ~ 0xFFFF,不超过4位数,每个数字开头可以带0,0可以缩写(就是去掉,比如0001可以写成1),用 ':' 分割,8串数组成,以数字开头和结尾。

两者都不带正负号

问题链接:/problems/validate-ip-address/

输入案例:

Example 1:
Input: "172.16.254.1"

Output: "IPv4"

Explanation: This is a valid IPv4 address, return "IPv4".
Example 2:
Input: "2001:0db8:85a3:0:0:8A2E:0370:7334"

Output: "IPv6"

Explanation: This is a valid IPv6 address, return "IPv6".
Example 3:
Input: "256.256.256.256"

Output: "Neither"

Explanation: T