LeetCode 复原IP地址(探索字节跳动)
题目描述
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: "25525511135"
输出:["255.255.11.135", "255.255.111.35"]
解题思路
递归地搜索地址段,对于每个地址首先判断其是否为'0',若为0则其必须作为一个单独的地址段,接下来只能判断其下一个地址段;若不为0,则依次取1-3位数字组成的数作为地址段,注意在取3位的时候要保证其小于256,否则停止加入地址。最后在地址段总数为4且已遍历到字符串末尾时,将其加入到结果集合中。
代码
class Solution {
public:
vector<string> restoreIpAddresses(string s) {
vector<string> res;
findIp(s, , , "", res);
return res;
}
void findIp(string s, int idx, int part, string temp, vector<string> &res){
if(part == && idx == s.length())
res.push_back(temp.substr(, temp.length() - ));
else if(part < ){
if(s[idx] == ''){
findIp(s, idx + , part + , temp + "0.", res);
return;
}
for(int i = ; i < ; i++){
if(idx + i - == s.length()) return;
int address = stoi(s.substr(idx, i));
if(address < )
findIp(s, idx + i, part + , temp + to_string(address) + ".", res);
}
}
}
};
LeetCode 复原IP地址(探索字节跳动)的更多相关文章
- LeetCode 简化路径(探索字节跳动)
题目描述 给定一个文档 (Unix-style) 的完全路径,请进行路径简化. 例如, path = "/home/", => "/home" path ...
- [LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- LeetCode:复原IP地址【93】
LeetCode:复原IP地址[93] 题目描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: [&qu ...
- Java实现 LeetCode 93 复原IP地址
93. 复原IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11. ...
- LeetCode(93): 复原IP地址
Medium! 题目描述: 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255. ...
- leetcode刷题-93复原IP地址
题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 有效的 IP 地址正好由四个整数(每个整数位于 0 到 255 之间组成),整数之间用 '.' 分隔. 示例: 输入: &q ...
- leetcode 93 复原IP地址
IP地址,分成四段,每段是0-255,按照每段的长度分别为1,2,3下一段长度分别1,2,3再下一段......进行递归遍历,能满足条件的假如res中.比较难想到的就是假如有一段是三位的010是不符合 ...
- 第93题:复原IP地址
一. 问题描述 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135 ...
- [LeetCode]1108. IP 地址无效化
给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本. 所谓无效化 IP 地址,其实就是用 "[.]" 代替了每个 ".". 示例 ...
随机推荐
- 买条Vineyard Vines裙子为啥子那么难?因为能遮胖?因为英国王子穿过?
为了这件vineyard vines, 我周六冒雨,去斯坦福shopping center说卖完了,我冒雨赶回家,上网买到了,今天早上发email说没货了,自动取消我的订单.我下午又打了40分钟电话给 ...
- 搞懂String、StringBuffer、StringBuilder的区别
String.StringBuffer.StringBuilder有什么区别呢? 1.String: 首先String是不可变的这是家喻户晓的,它的底层是用一个final修饰的char数组来保存数据的 ...
- Eclipse 动态添加web.xml
在创建javaweb项目时,也许会忘记让项目创建web.xml文件,这是我们可以右键创建后的项目,在javaEE Tools中选择第二个即可. Generate deployment Descript ...
- html与css注意事项及小知识点
html 常用的html特殊符号: 空格:&npsd: 版权所有符号:©: 注册商标符号:®: 有两个标签容器:<span>和<div> ...
- SpringBoot实现定时器定时处理任务
最近在项目中遇到了一个问题, 对于新建的活动, 活动设置了开始时间和结束时间, 也就是数据库中的一个状态码的改变而已. 但是,这里就有问题了, 如何去实现到时间更改活动状态呢? 1. 刚开始的时候,我 ...
- WinPE基础知识之导入表
// 导入表 (结构体数组,以一个全零元素为结尾,每一个数组元素,代表一个PE文件导入信息) // 导入表存储的是从其它PE文件导入过来的函数名.序号,加载到内存之后,还存储这些函数的地址 typed ...
- Mysql与java对应的类型表
1. 概述 在使用Java JDBC时,你是否有过这样的疑问:MySQL里的数据类型到底该选择哪种Java类型与之对应?本篇将为你揭开这个答案. 2. 类型映射 java.sql.Types定义了常 ...
- Django restfulframework 开发相关知识 整理
目录 目录 前言 前后端分离 实现前后端分离的方法 前后端分离带来的优点 RESTful十大规范 协议规范 域名规范 版本表示规范 url使用名词 http请求动词 过滤条件 状态码 错误信息 请求方 ...
- Delphi 类的方法
- Apache版本兼容性问题
Apache 版本2.2.31 版本对于谷歌浏览器不兼容.IE8版本可以正常使用 当使用了Apache 高版本的话就解决了 出现以下现象