LeetCode 93. 复原IP地址
思路:
回溯+剪枝
遍历字符串,先计算第一网段,分别取1 2 3位数字,并组合判断是否符合IP规范,
若符合跳至下一网段,并且索引start挪位,temp+本网段值+“.”
递归
List<String> l = new ArrayList<>();public List<String> restoreIpAddresses(String s) {if(s.length()<4 || s.length() > 12){return l;}//1 表示第几个网段 0表示从字符串s哪一位开始算 “”表示追加的IPdfs(s,1,0,"");return l;}private void dfs(String s, int part,int start, String temp) {if(part == 4){if(isIP(s.substring(start))){l.add(temp+s.substring(start));}return;}for (int i = 1; i < 4 && start+i<s.length(); i++) {String t = s.substring(start,start+i);if(isIP(t)){dfs(s,part+1,start+i,temp+t+".");}}}private static boolean isIP(String substring) {if (substring.length() > 3) {return false;}if (substring.startsWith("0")) {return "0".equals(substring);} else {return Integer.valueOf(substring) <= 255;}}
LeetCode 93. 复原IP地址相关推荐
- LeetCode 93. 复原 IP 地址【字符串,回溯算法】
93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...
- LeetCode 93. 复原IP地址(回溯)
1. 题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135&q ...
- leetcode 93. 复原IP地址 思考分析
题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址 正好由四个整数(每个整数位于 0 到 255之间组成,且不能含有前导 0),整数之间用 '.' 分隔. ...
- 多看看把,条件太多了--leetcode 93. 复原 IP 地址
难度:中等 频次:62 题目: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201&quo ...
- 142. Leetcode 93. 复原 IP 地址 (回溯算法-切割问题)
分析剪枝条件: 1.一开始,字符串的长度小于 4 或者大于 12 ,一定不能拼凑出合法的 ip 地址(这一点可以一般化到中间结点的判断中,以产生剪枝行为); 2.每一个结点可以选择截取的方法只有 3 ...
- leetcode 93.复原IP地址 dfs解法
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", ...
- leetcode:491. 递增子序列、17. 电话号码的字母组合、31. 分割回文串、93. 复原 IP 地址(JavaScript)
文章目录 491. 递增子序列 分析 去重 如何保证递增呢? 17. 电话号码的字母组合 思路: 单层递归逻辑 递归终止条件 完整代码 另一种写法 31. 分割回文串 思路:分析题目本题可分为两步 9 ...
- 93. 复原 IP 地址
93. 复原 IP 地址 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔. 例如:"0.1.2.201" ...
- leetcode系列-93.复原 IP 地址
leetcode系列–第93题.复原 IP 地址 题目描述:有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 '.' 分隔.例如:" ...
最新文章
- 63万张!旷视发布最大物体检测数据集Objects365 | 技术头条
- erdas叠加显示_ERDAS操作技巧
- 【若依(ruoyi)】Bootstrap-Table的使用
- 编写jmeter测试用例_Jmeter性能测试系列篇(十)--批量用例执行结果检查设置
- 挖掘建模-分类与预测-决策树
- maccmsv10 苹果cms 深度定制站群版
- bzoj 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通(拓扑排序?+DP)
- 论文阅读 A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SEN- TENCE EMBEDDINGS
- 斐讯 N1 降级、刷机及 Armbian 安装 [2019.7.23]
- 爱奇艺涨价背后,还有四步大棋
- GaussDB (for Cassandra) 数据库治理:大key与热key问题的检测与解决
- 关于keil5开发stc8等51单片机程序和在线调试的步骤
- 几何分布期望,方差推导
- 您未被授权查看该页 您不具备查看该目录或页面的权限,因为访问控制列表 (ACL) 对 Web 服务器上的该资源进行了配置
- 微信登录收不到回调的解决方法
- 微店API,item_search_shop - 获得店铺的所有商品
- power bi -分组累计求和
- 计算机技术发展作文,【推荐】科技发展作文三篇
- 简单网络拓扑及相应的配置
- python 编程题 埃及金字塔罐子倒水
热门文章
- 将表达式树转换成中缀表达式☆
- Django项目调用外部程序soffice报错subprocess.CalledProcessError: Command 'soffice --headless --convert-to pdf
- Python学习笔记之Windows下通过pip安装PyMySQL
- hadoop php mysql_PHP+Hadoop+Hive+Thrift+Mysql实现数据统计分析
- git本地安装配置与基础概念
- [转]UpdatePanel的用法详解
- 4、Linux的文件系统结构(目录树结构)
- windows8.1下安装Cygwin并通过apt-cyg安装软件包
- State_状态模式_PHP语言描述
- shell-script(command groups)