93. 复原IP地址

给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。

示例:

输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]

PS:
跪了,得LeetCode者得天下,上次我学的位运算符,这次学的ip地址

class Solution {private List<String> res = new ArrayList<>();public List<String> restoreIpAddresses(String s) {if (s.length() < 4) //非法输入return res;backtrack(s, 0, new StringBuilder(), 0);return res;}private void backtrack(String s, int start, StringBuilder sb, int pointNumOfSb) {if (pointNumOfSb > 4) //大于三个点,则剪枝,这里大于4是因为最后一次还会加一return;if (start == s.length() && pointNumOfSb == 4) {   //pointNumOfSb==4,则是一个合法的IPres.add(sb.toString().substring(1));   //substring(1)是因为每次append(".xxx"),第零个位置是"."return ;}for (int i = start; i < s.length() && i - start < 3; i++) { //i-start < 3,如果大于三位数则返回String x = s.substring(start, i + 1);if (x.charAt(0) == '0' && x.length() > 1) //如果是0xx这种则返回return ;if (Integer.parseInt(x) <= 255) {sb.append("." + x);backtrack(s, i + 1, sb, pointNumOfSb + 1);sb.delete(sb.lastIndexOf("."), sb.length());}}}
}

Java实现 LeetCode 93 复原IP地址相关推荐

  1. LeetCode 93. 复原 IP 地址【字符串,回溯算法】

    93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...

  2. LeetCode 93. 复原IP地址(回溯)

    1. 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135&q ...

  3. leetcode 93. 复原IP地址 思考分析

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

  4. 多看看把,条件太多了--leetcode 93. 复原 IP 地址

    难度:中等 频次:62 题目: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201&quo ...

  5. 142. Leetcode 93. 复原 IP 地址 (回溯算法-切割问题)

    分析剪枝条件: 1.一开始,字符串的长度小于 4 或者大于 12 ,一定不能拼凑出合法的 ip 地址(这一点可以一般化到中间结点的判断中,以产生剪枝行为); 2.每一个结点可以选择截取的方法只有 3 ...

  6. leetcode 93.复原IP地址 dfs解法

    给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...

  7. LeetCode 93. 复原IP地址

    思路: 回溯+剪枝 遍历字符串,先计算第一网段,分别取1 2 3位数字,并组合判断是否符合IP规范, 若符合跳至下一网段,并且索引start挪位,temp+本网段值+"." 递归 ...

  8. leetcode:491. 递增子序列、17. 电话号码的字母组合、31. 分割回文串、93. 复原 IP 地址(JavaScript)

    文章目录 491. 递增子序列 分析 去重 如何保证递增呢? 17. 电话号码的字母组合 思路: 单层递归逻辑 递归终止条件 完整代码 另一种写法 31. 分割回文串 思路:分析题目本题可分为两步 9 ...

  9. 93. 复原 IP 地址

    93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...

  10. leetcode系列-93.复原 IP 地址

    leetcode系列–第93题.复原 IP 地址 题目描述:有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔.例如:" ...

最新文章

  1. P3952 NOIP2017 时间复杂度
  2. [转] JavaScript仿淘宝智能浮动
  3. 如何使用OpenCV和Socket进行视频聊天?
  4. 麦肯锡:企业数字化转型不要被技术“绑架”
  5. 再谈应用环境下的TIME_WAIT和CLOSE_WAIT
  6. 抽象类和接口有什么区别?
  7. ORACLE的基本语法集锦
  8. 传统公司部署OpenStack(t版)简易介绍(五)——nova模块部署
  9. php注册界面模板,WeUI注册页面
  10. 安装ISO系统(原版系统)系统终极方法
  11. service 层 拼接的html 代码如何直接返回_字符串拼接,会走StringBuilder 吗?
  12. django-用户文件的上传-后台上传
  13. Spring高级应用之bean的生命周期
  14. 手机芯片 AI 之争:高通、联发科均超华为!
  15. 安装matlab2016a教程---适合小白,超详细
  16. 学习如何在matlab用带通滤波器进行滤波
  17. SQL安装步骤及可能遇到的错误
  18. windows中批量修改文件后缀名
  19. 抖音直播如何快速提升人气热度,让客户下单。
  20. 香港服务器怎么加速?

热门文章

  1. 玩转亚马逊 AWS IoT(3): SpringBoot 2.7 集成 AWS IoT 服务
  2. java程序员月薪3万需要掌握哪些技术?技术水平需要到什么程度?
  3. 生产力工具:功能强大又好用的浏览器网页截屏工具FireShot
  4. Matlab之inv函数
  5. 1个钟是多久_一个时辰是多久,一个时辰是几个小时?
  6. Assuming drive cache: write through 因为硬盘内存不足VM虚拟机开不了机的问题
  7. jdk1.8换成11,启动项目报错java.net.MalformedURLException: unknown protocol: jrt
  8. 小程序与H5,APP有什么不同-小程序支付开发1
  9. Windows环境下配置深度强化学习环境玩Atari游戏
  10. 深度强化学习中深度Q网络(Q-Learning+CNN)的讲解以及在Atari游戏中的实战(超详细 附源码)