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

93. 复原 IP 地址

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

  • 例如:"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址,但是 "0.011.255.245""192.168.1.312" 和 "192.168@1.1" 是 无效 IP 地址。

给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能的有效 IP 地址,这些地址可以通过在 s 中插入 '.' 来形成。你 不能 重新排序或删除 s 中的任何数字。你可以按 任何 顺序返回答案。

示例 1:

输入:s = "25525511135"
输出:["255.255.11.135","255.255.111.35"]

示例 2:

输入:s = "0000"
输出:["0.0.0.0"]

示例 3:

输入:s = "101023"
输出:["1.0.10.23","1.0.102.3","10.1.0.23","10.10.2.3","101.0.2.3"]

提示:

  • 1 <= s.length <= 20
  • s 仅由数字组成
class Solution {
public:vector<string> res;int pointNum=0;void func(string s,int index){   if(pointNum==3){if(isValid(s,index,s.size()-1))//判读第四段的合法性res.push_back(s);return;}for(int i=index;i<s.size();i++){if(isValid(s,index,i)){s.insert(s.begin()+i+1,'.');pointNum++;func(s,i+2);pointNum--;s.erase(s.begin()+i+1);}elsebreak;}}bool isValid(string s,int start,int end){if(start>end)   //防止index>s.size()-1的情况return false;if(s[start]=='0'&&start!=end)return false;int num=0;for(int i=start;i<=end;i++){if(s[i]>'9'||s[i]<'0')return false;num=num*10+(s[i]-'0');if(num>255)return false;}return true;}vector<string> restoreIpAddresses(string s) {if(s.size()<4||s.size()>12)return res;func(s,0);return res;}
};

http://www.lryc.cn/news/182177.html

相关文章:

  • 竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别
  • 第15届蓝桥STEMA测评真题剖析-2023年8月20日Scratch编程中级组
  • html5 checkbox
  • 安装matplotlib_
  • STM32复习笔记(六):STM32远程升级BootLoader相关
  • MASA MAUI iOS 文件下载与断点续传
  • NPDP产品经理知识(产品创新流程)
  • Android日常——记一次Android事件分发需求的实现
  • 【Python】函数(function)和方法(method)的区别
  • linux入门---信号的理解
  • nn.Linear(d, num_units, bias=True)设置bias和不设置bias有什么区别?
  • 代码随想录 Day10 栈与队列 LeetCode T239 滑动窗口的最大值 T347 前K个高频元素
  • vue/自定义指令
  • 借用binlog2sql工具轻松解析MySQL的binlog文件,再现Oracle的闪回功能
  • 一次解决Pytorch训练时损失和参数出现Nan或者inf的经历
  • 【python入门篇】列表简介及操作(2)
  • 数据结构与算法——19.红黑树
  • js题解(三)
  • CompletableFuture异步回调
  • Python中匹配模糊的字符串
  • PHP图片文件管理功能系统源码
  • (枚举 + 树上倍增)Codeforces Round 900 (Div. 3) G
  • websocket逆向【python实现websocket拦截】
  • 软件测试自动化的成本效益分析
  • 【Java】状态修饰符 final static
  • 笔试编程ACM模式JS(V8)、JS(Node)框架、输入输出初始化处理、常用方法、技巧
  • learn掩码张量
  • 激活函数介绍
  • docker方式启动一个java项目-Nginx本地有代码,并配置反向代理
  • 前端和后端是Web开发选哪个好?