描述:

Given a string containing only digits, restore it by returning all possible valid IP address combinations.For example:
Given "25525511135",return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)

思路:

一个合法的ip地址包括4个部分,每个部分都要是小于255的一个数字,就是动态地取该数字串的某一部分且后一部分所取的位置都是在前一部分的基础上取得,最后得到四部分串后再去判断各个部分是否符合条件即可。
典型的动态规划问题,后一部分依赖于前一部分来完成。
当然在具体的编码过程中考虑到取完前面部分后后面的部分所表示的长度是否合法也是很必要的,这样可以省去许多后续的判定和字符串向整数的转换。

代码:

public List<String> restoreIpAddresses(String s) {String str=s;List<String>list=new ArrayList<String>();if(str==null)return list;int strLen=str.length();for(int i=1;i<4&&i<strLen-2;i++){if(strLen-i>9)continue;for(int j=i+1;j<i+4&&j<strLen-1;j++){if(strLen-j>6)continue;for(int k=j+1;k<j+4&&k<strLen;k++){int a=Integer.parseInt(str.substring(0,i)); int b=Integer.parseInt(str.substring(i,j)) ;int c=Integer.parseInt(str.substring(j,k)) ;int d=Integer.parseInt(str.substring(k,strLen));if(a>255||b>255||d>255||c>255)continue;String ip=a+"."+b+"."+c+"."+d;if(ip.length()<strLen+3)continue;list.add(ip);}}}return list;}

leetcode_Restore IP Addresses相关推荐

  1. [LeetCode]93.Restore IP Addresses

    题目 Given a string containing only digits, restore it by returning all possible valid IP address comb ...

  2. IP addresses in C#

    在.Net网络库里面最大的优点就是IP地址和端口被成对处理,相比于UNIX中用的方法真是一个巨大的令人欢迎的进步..NET定义了两个类来处理关于IP地址的问题. One of the biggest ...

  3. 【DFS + backtrack】LeetCode 93. Restore IP Addresses

    LeetCode 93. Restore IP Addresses Solution1:我的答案 怎么就这么慢... class Solution { public:vector<string& ...

  4. Virtualized Firewall for Cloud Security: Working on Machines Identities, NOT on Their IP Addresses

    Virtualized Firewall for Cloud Security:Working on Machines Identities, NOT on Their IP Addresses (I ...

  5. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  6. LeetCode Restore IP Addresses(回溯法)

    题意:给出一个由数字组成的字符串,求其能表示的ip地址列表 注意不能有前缀0,如010 思路:每次操作时,有两种情况,一种是添加点,一种是将其作为当前数的后序数. 在小数点的个数超过3时,递归退出. ...

  7. [LeetCode] Restore IP Addresses 复原IP地址

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  8. Restore IP Addresses leetcode java

    题目: Given a string containing only digits, restore it by returning all possible valid IP address com ...

  9. [leetcode] Restore IP Addresses

    这个题目就和Palindrome Partitioning很像了,而且比那个的DFS的递归要简单一些,让常人更好理解一些.但是边界条件更多,要考虑清楚. 整体思路就是深度优先搜索,首先看到边界条件没, ...

  10. 93. Restore IP Addresses 复原IP地址

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔. 示例: 输入: " ...

最新文章

  1. Oracle中merge into的使用
  2. Android数据存储(三)——SQLite
  3. IP地址与字符串、整型之间的转换
  4. mega_[MEGA DEAL]终极Android N开发套件(90%折扣)
  5. 10个Linux 系统性能监控命令行工具
  6. 《IPv6技术精要》一2.4 扩展报头
  7. python官方的扩展索引_Python列表操作与深浅拷贝(6)——列表索引、查询、修改、扩展...
  8. 【elasticsearch】FileAlreadyExistsException:/home/elasticsearch-6.8.0/config/elasticsearch.keysto
  9. iOS工程师常用的命令行命令总结
  10. Java工具类(获取当前主机操作系统名)
  11. 选择器高级、样式及布局
  12. (转)使用CUnit进行单元测试和覆盖率统计
  13. 面试中遇到的java笔试题
  14. 计算机科学与技术专业校友会排名,校友会2017中国民办大学计算机科学与技术专业排行榜...
  15. 基于tidbV6.0探索索引优化思路
  16. C51- NRF24L01 无线串口模块
  17. 切比雪夫不等式例题讲解_浅谈|f(x)|最大值的最小值问题--切比雪夫最佳逼近直线在高考中的应用...
  18. O-RAN,真的会成功吗?[转载]
  19. C++ Learning 3
  20. Lect2_MDPs

热门文章

  1. Django06 后台管理
  2. FFmpeg —— 14.示例程序(八):音频编码器(PCM编码为AAC)
  3. ca42a_demo_c++_new_delete表达式
  4. Ant Design Pro 从零到一教程
  5. 高频故障-桌面图标变成白纸图标的恢复方案
  6. CLEAR: Contrastive Learning for Sentence Representation
  7. 一个宽带猫能不能连接两个路由器?
  8. php工程师具备技能,PHP工程师具备的技能及素质
  9. 以自动化为“遮羞布”,亚马逊掩盖了惊人的工伤记录
  10. tnl 的 masterServer, client server 架构学习笔记