博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode OJ - Restore IP Addresses
阅读量:6044 次
发布时间:2019-06-20

本文共 1699 字,大约阅读时间需要 5 分钟。

这道题采用穷举法。

1  /** 2       * Given a string containing only digits, 3       *  restore it by returning all possible valid IP address combinations. 4       *  采用穷举法 5       * @param s 6       * @return 7       */ 8      public ArrayList
restoreIpAddresses(String s) { 9 ArrayList
r = new ArrayList
();10 int len = s.length();11 for(int i=1;i<=3;i++){12 for(int j = i+1; j<=i+3;j++){13 for(int k = j+1;k<=j+3;k++){14 if(k>len-1)15 continue;16 String A = s.substring(0,i);17 String B = s.substring(i,j);18 String C = s.substring(j,k);19 String D = s.substring(k);20 StringBuilder sb = new StringBuilder();21 if(isValid(D) && isValid(C) && isValid(B) && isValid(A)){22 sb.append(A).append(".").append(B).append(".").append(C).append(".").append(D);23 r.add(sb.toString());24 }25 }26 }27 }28 return r;29 }30 /**31 * 用于验证IP地址某一部分是否是有效的32 * @param s33 * @return34 */35 private boolean isValid(String s){36 if(s.length()>3)37 return false;38 if(Integer.valueOf(s)>255)39 return false;40 int len = s.length();41 char[] cs = s.toCharArray();42 if(len>1 && cs[0] == '0' )43 return false;44 45 return true;46 }

 

转载于:https://www.cnblogs.com/echoht/p/3714928.html

你可能感兴趣的文章
反射操作公共成员变量
查看>>
Android热修复升级探索——代码修复冷启动方案
查看>>
学校宿舍的深夜之思考
查看>>
字符串的扩展
查看>>
存储过程中调用webservice
查看>>
神奇语言 python 初识函数
查看>>
Windows安装Composer出现【Composer Security Warning】警告
查看>>
企业架构研究总结(22)——TOGAF架构开发方法(ADM)之信息系统架构阶段
查看>>
linux
查看>>
C#+QQEmail自动发送邮件
查看>>
[Hadoop]MapReduce多输出
查看>>
算法(Algorithms)第4版 练习 1.3.4
查看>>
jquery easyUI checkbox复选项获取并传后台
查看>>
浅析NopCommerce的多语言方案
查看>>
设计模式之简单工厂模式
查看>>
C++中变量的持续性、链接性和作用域详解
查看>>
2017 4月5日上午
查看>>
第一阶段冲刺报告(一)
查看>>
使用crontab调度任务
查看>>
【转载】SQL经验小记
查看>>