import java.util.*;
public class Solution {
/**
* 验证IP地址
* @param IP string字符串 一个IP地址字符串
* @return string字符串
*/
public String solve (String s) {
// write code here
// write code here
if (s.contains(".")){
return isIpv4(s);
}
return isIpv6(s);
}
private String isIpv4(String s){
String[] split = s.split("\\.");
if (split.length != 4){
return "Neither";
}
for (String s1 : split) {
if (!cal(s1) || (s1.length() > 1 && s1.charAt(0) == '0') ){
return "Neither";
}
}
return "IPv4";
}
private String isIpv6 (String s){
String[] split = s.split("\\:", -1);
if (split.length != 8){
return "Neither";
}
for (String s1 : split) {
if (s1.length() == 0 || s1.length() > 4){
return "Neither";
}
for (int i = 0; i < s1.length(); i++){
char c = s1.charAt(i);
if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))){
return "Neither";
}
}
}
return "IPv6";
}
private boolean cal(String s){
int num = 0;
if (s == null || s.length() == 0){
return false;
}
for (int i = 0; i < s.length(); i++){
if (Character.isLetter(s.charAt(i))){
return false;
}
num = num * 10 + (s.charAt(i) - '0');
}
return num <= 255 ;
}
}
牛客网:NC113 验证IP地址
于 2022-08-10 13:55:22 首次发布