题解 | #合法IP#
合法IP
http://www.nowcoder.com/practice/995b8a548827494699dc38c3e2a54ee9
import java.util.Scanner; import java.util.*;
public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String str = sc.next(); // 输出判断结果 System.out.println(solution(str)); } }
private static String solution(String str){
// 将存在数字和点号以外的字符排除
if(str.replaceAll("[0-9]|\\.","").length() > 0) return "NO";
// 对字符串按点号进行切分
String[] strs = str.split("\\.");
// 非四组数据的为不合法,排除
if(strs.length != 4) return "NO";
for(String s : strs){
// 空字符串排除
if(s == null || s.length() == 0) return "NO";
// 对01字样的进行筛除
if(s.length() >= 2 && s.charAt(0) == '0') return "NO";
int num = Integer.parseInt(s);
if( num > 255 ){
return "NO";
}
}
return "YES" ;
}
}