当前位置: 首页 > news >正文

LeetCode 刷题【93. 复原 IP 地址】

93. 复原 IP 地址

自己做

解:回溯法

class Solution {
private:vector<string> res;public:void tryIpAddresses(string &s, int index, int i, string &ip){           //index代表s的下标索引,i代表是第几段IP地址(分四段),ip即是保存的结果if((int)s.size() - index > (4 - i) * 3 )                            //取不完完整的IP地址,比如最多取12位(3 * 4),但是字符串却有20位,这时候就取不完了,必然组不成IP地址return;if(ip.size() - 1 == s.size() + 3 && i == 4){                       //保存结果【已经取完四段IP地址】ip.pop_back();                                                 //弹出'.'res.push_back(ip);ip.push_back('.');return;}//尝试取一位ip.push_back(s[index]);ip.push_back('.');tryIpAddresses(s, index + 1, i + 1, ip);ip.pop_back();ip.pop_back();//尝试取两位if(index + 1 < (int)s.size() && s[index] > '0'){ip.push_back(s[index]);ip.push_back(s[index + 1]);ip.push_back('.');tryIpAddresses(s, index + 2, i + 1, ip);ip.pop_back();ip.pop_back();ip.pop_back();}//尝试取三位if(index + 2 < (int)s.size() && (s[index] == '1' || s[index] == '2' && s[index + 1] == '5' && s[index + 2] <= '5' || s[index] == '2' && s[index + 1] < '5')){ip.push_back(s[index]);ip.push_back(s[index + 1]);ip.push_back(s[index + 2]);ip.push_back('.');tryIpAddresses(s, index + 3, i + 1, ip);ip.pop_back();ip.pop_back();ip.pop_back();ip.pop_back();}}vector<string> restoreIpAddresses(string s) {string str;tryIpAddresses(s, 0, 0, str);return res;}
};

http://www.dtcms.com/a/426738.html

相关文章:

  • Python类和对象----实例属性,类属性(这是我理解类和对象最透彻的一次!!)
  • 文档解析Logics-Parsing
  • 网站设计报价.doc网页端
  • IDEA中Add New Configuration找不到Tomcat
  • 学习笔记092——Windows如何将 jar 包启动设置成系统服务
  • React前端框架有哪些?
  • 文昌市建设局网站无锡工厂网站建设
  • 龙岗网站建设-信科网络深圳房地产论坛家在深圳
  • Ceph 分布式存储学习笔记(三):块存储和对象存储管理
  • Ubuntu22.4安装Samba服务器
  • 服务器安装Java与nginx与nacos
  • Navicat导入Excel至瀚高数据库
  • 网站的制作与调试微网站服务合同
  • JavaScript调试工具有哪些?常见问题与常用调试工具推荐
  • 网站项目建设策划方案超级外链发布
  • 使用 Lens连接阿里云k8s集群
  • UNIX下C语言编程与实践24-UNIX 标准文件编程库:无格式读写函数族(字符、行、块)的使用
  • mysql中的日志
  • Spring Cloud Nacos 配置中心详解:从基础使用到 MyBatis 整合(含多文档配置)
  • 去出海做产品吧,亚马逊爆款产品 属于电子类的消费产品。用全志A733完胜--
  • 设计配色网站租房合同范本下载word
  • 安卓生态进化史:从手机系统到全场景智能
  • 自适应网站开发工具网站优化排名提升
  • 中国建材网:重构建材行业生态的数字力量
  • 【有源码】基于Hadoop+Spark的豆瓣电影数据分析与可视化系统-基于大数据的电影评分趋势分析与可视化系统
  • 模板匹配算法原理
  • Matplotlib子图布局与响应式设计实战:GridSpec与CSS框架深度结合
  • 【图像处理进阶】边缘检测算法深度优化与复杂场景实战
  • yolov12 onnx导出tensorrt
  • 【Java学习】定时器Timer(源码详解)