关注
package ok; import java.util.*; public class IP{ public static void main(String []args){ ArrayList<String> a = new ArrayList<String>(); Scanner sc = new Scanner(System.in); String s = sc.nextLine(); sc.close(); a=restoreIpAddress(s); System.out.println(a); } public static ArrayList<String> restoreIpAddress(String s){ ArrayList<String> res=new ArrayList<String>(); String ip=""; restoreIpAddress(s,0,0,ip,res); return res; } private static void restoreIpAddress(String s,int start,int part,String ip, ArrayList<String> res){ //数字多,则忽略 if(s.length() -start >(4-part)*3) return; //数字太少也忽略 if(s.length()-start <(4-part)) return; //找到一个合法的ip if(start==s.length() && part ==4) { //把最后一个抹去 res.add(ip.substring(0,ip.length()-1)); return; } int num =0; for(int i=start;i<Math.min(start+3,s.length());i++){ //每个位置有三种可能 num = num*10 +(s.charAt(i)-'0'); if(num<=255){ //每段ip地址的数字都是小于256 ip+=s.charAt(i); restoreIpAddress(s,i+1,part+1,ip+'.',res); } if(num==0) break; } } }
查看原帖
点赞 2
相关推荐
11-07 13:23
Nanyang Technological University 自然语言处理 点赞 评论 收藏
分享
11-14 15:03
西安电子科技大学 C++ 点赞 评论 收藏
分享
查看19道真题和解析
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
333025次浏览 3149人参与
# 上班苦还是上学苦呢? #
74399次浏览 662人参与
# 百度开奖 #
186914次浏览 1172人参与
# 地方国企笔面经互助 #
4614次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
22260次浏览 422人参与
# 选完offer后,你后悔学本专业吗 #
22115次浏览 159人参与
# 阿里云管培生offer #
37534次浏览 426人参与
# 我的实习求职记录 #
6074194次浏览 83557人参与
# 如何一边实习一边秋招 #
997720次浏览 12670人参与
# 找工作时遇到的神仙HR #
553958次浏览 3803人参与
# 入职第一天,你准备什么时候下班 #
21701次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10839次浏览 277人参与
# bilibili求职进展汇总 #
33397次浏览 358人参与
# 许愿池 #
215004次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54197次浏览 425人参与
# 你今年的平均薪资是多少? #
71165次浏览 345人参与
# 实习工作,你找得还顺利吗? #
248124次浏览 2917人参与
# 通信硬件薪资爆料 #
610133次浏览 5198人参与
# 海康威视求职进展汇总 #
401083次浏览 3408人参与
# 携程求职进展汇总 #
136008次浏览 932人参与
# 正在实习的你,几点下班 #
53535次浏览 396人参与
# 工作两年想退休了 #
53172次浏览 673人参与