1. 题目

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

示例:
输入: "25525511135"
输出: ["255.255.11.135", "255.255.111.35"]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/restore-ip-addresses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 回溯算法

相关题目:LeetCode 468. 验证IP地址

class Solution {vector<string> ans;
public:vector<string> restoreIpAddresses(string s) {if(s.size() < 4 || s.size() > 12)return {};bt(s,1,0);//从第一个字符前面开始插入.return ans;}void bt(string &s, int idx, int count){if(count > 3)//3个.才行return;if(count == 3 && isIPv4(s)){ans.push_back(s);return;}for(int i = idx; i < s.size(); ++i){s.insert(i,".");bt(s,i+2,count+1);//插入后,至少向后移动2个位置再插入新的.s.erase(i,1);//回溯,删除1个字符 . }}bool isIPv4(string &IP)    //参考leetcode 468{vector<string> part;split(IP, part);int s, i;for(auto p : part){s = 0;if(p == "" || (p[0] == '0' && p.size() != 1))    //不能有前置0return false;for(i = 0; i < p.size(); ++i){if(!isdigit(p[i]))return false;s = s*10+p[i]-'0';if(s > 255)    //数字不能超范围return false;}}return true;}void split(string &IP, vector<string> &part){string p;for(int i = 0; i < IP.size(); ++i){if((IP[i]=='.' || i == IP.size()-1)){if(i == IP.size()-1)p += IP[i];part.push_back(p);p = "";}elsep += IP[i];}}
};

LeetCode 93. 复原IP地址(回溯)相关推荐

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

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

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

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

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

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

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

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

  5. LeetCode 93. 复原IP地址

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

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

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

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

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

  8. java实现复原IP地址,回溯算法:复原IP地址

    93.复原IP地址 题目地址:https://leetcode-cn.com/problems/restore-ip-addresses/ 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地 ...

  9. 93. 复原 IP 地址

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

最新文章

  1. 英特尔媒体年会场景(15P)——实拍与小结
  2. Linux下的多进程间共享资源的互斥访问
  3. 指定wsus服务器,步骤 2:在服务器上安装 WSUS
  4. STM32的ADC笔记
  5. 模板匹配(Match Template)
  6. 夜深了,发点无聊的东西
  7. iOS中AutoLayer自动布局流程及相关方法
  8. labview串口数据采集并显示_一种NB-IoT冶金节点温度采集与远程监测系统的设计...
  9. lr分析器的设计与实现实验_GBDT+LR:Practical Lessons from Predicting Clicks on Ads
  10. 吴恩达机器学习ex5:正则化线性回归和方差与偏差
  11. App 抓包-Fiddler简单使用教程
  12. 如何快速批量新建文本文档(txt)?
  13. 网上测试性格的软件依据是什么意思,(观点)mbti性格测试如此流行,它有科学依据吗?...
  14. zcmu-1410: Polynomial Showdown
  15. Win10以太网网络电缆被拔出,没有WLAN选项
  16. MAC电脑连接windows台式机
  17. [教程] 使用 Chrome 从 Google Drive 进行多线程、断点续传下载
  18. VPX信号处理板VPX3U-2DSP-C6678
  19. 关于eclipse SE版本不支持建立web工程的问题
  20. 周杰伦赴日展中国风自弹自唱

热门文章

  1. sudo apt-get nmap 报错锁占用
  2. mysql数据库表复用_MySQL 数据库之表操作
  3. html+监听+页面滚动到底部,解决HTML5中滚动到底部的事件问题
  4. platform_device和platform_driver的注册过程,及probe函数何时调用的分析
  5. spring--打印hello--注解component--自动创建对象
  6. 【音乐】想不起来歌名的瞎唱
  7. php swoole websocket vue 实现聊天室案例
  8. 8.在idea中配置maven
  9. hihoCoder #1143 : 骨牌覆盖问题·一
  10. VBA之六--EXCEL VBA两则