解题思路
题目要求实现函数 classifyIPv4,输入一个字符串形式的 IPv4 地址,返回它所属的地址类型。
先判断 IP 地址是否合法:
- 地址必须能被
. 分成恰好 4 段。
- 每一段不能为空。
- 每一段只能包含数字字符。
题目内容
IPv4地址分类
- R类(保留地址):0.0.0.0 ~ 0.255.255.255
- A类:1.0.0.0 ~ 126.255.255.255
- L类(环回地址):127.0.0.0 ~ 127.255.255.255
- B类:128.0.0.0 ~ 191.255.255.255
- C类:192.0.0.0 ~ 223.255.255.255
- D类(组播地址):224.0.0.0 ~ 239.255.255.255
- E类(保留地址):240.0.0.0 ~ 255.255.255.255
实现一个函数,输入一个IPv4地址,判断是哪一类IP地址,输出对应的类型:"A"、"B"、"C"...;如果输入的IP地址不符合规范,则输出"F"。
IP地址合法性判定规则:
1. IP地址由4个整数组成,取值范围为0 ~ 255
2. "."作为分割符分隔4个数字
补充说明
题目中出现的数字,除了数字"0"以外,不存在其他数字存在前导0的情况,比如不会存在"05"、"010"等。
样例1
输入
126.255.255.255
输出
A
说明
A类:1.0.0.0 ~ 126.255.255.255
样例2
输入
191.255.255.255
输出
B
说明
B类:128.0.0.0 ~ 191.255.255.255
样例3
输入
223.255.255.255
输出
C
说明
C类:192.0.0.0 ~ 223.255.255.255
样例4
输入
239.255.255.255
输出
F
说明
D类:224.0.0.0 ~ 239.255.255.255(组播地址)
样例5
输入
255.255.255.255
输出
E
说明
E类:240.0.0.0 ~ 255.255.255.255(保留地址)
样例6
输入
a.0.0.0
输出
F
说明
a非数字
样例7
输入
0.0.0.1
输出
R
说明
保留地址:0.0.0.0 ~ 0.255.255.255
样例8
输入
127.0.0.1
输出
L
说明
环回地址:127.0.0.0 ~ 127.255.255.255