[LeetCode] Restore IP Address [28]
题目
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
For example:
Given "25525511135",
return ["255.255.11.135", "255.255.111.35"]. (Order does not matter)
解题思路
给一个字符串,将其转换成IP地址。
这个题能够理解成,将字符串分割成若干个小块,将当中合法的(数值在0-255)组合起来,拼接成一个合法的IP地址。讲到这也就看出来了这还是一个组合问题。对于组合问题。算法都是结构性的递归套循环,看例如以下代码。
代码实现
class Solution {
public:
vector<string> restoreIpAddresses(string s) {
vector<string> ret;
helper(0, 0, s, string(), ret);
return ret;
}
void helper(int k, int start, const string& s, string part, vector<string> & ret){
if(k>4) return;
if(k==4){
if(start == s.size()){
ret.push_back(part);
}
return;
}
int key=0;
if(k>0)
part += ".";
for(int i=start; i<s.size(); ++i){
if(i>start && s[start] == '0') break;
key = 10*key + s[i]-'0';
if(key > 255) return;
string temp = part;
temp += s.substr(start, i-start+1);
helper(k+1, i+1, s, temp, ret);
}
}
};
另外。我开通了微信公众号--分享技术之美,我会不定期的分享一些我学习的东西.
)
[LeetCode] Restore IP Address [28]的更多相关文章
- LeetCode:Restore IP Address
93. Restore IP Addresses Given a string containing only digits, restore it by returning all possible ...
- [Leetcode] restore ip address 存储IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- [LeetCode] Validate IP Address 验证IP地址
In this problem, your job to write a function to check whether a input string is a valid IPv4 addres ...
- [LeetCode] Restore IP Addresses 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- [LintCode] Restore IP Address 复原IP地址
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- [leetcode]Restore IP Addresses @ Python
原题地址:https://oj.leetcode.com/problems/restore-ip-addresses/ 题意: Given a string containing only digit ...
- LeetCode——Restore IP Addresses
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
- LeetCode: Restore IP Addresses 解题报告
Restore IP Addresses My Submissions Question Solution Given a string containing only digits, restore ...
- [LeetCode] Restore IP Addresses 回溯
Given a string containing only digits, restore it by returning all possible valid IP address combina ...
随机推荐
- 错误:'nasm' 不是内部或外部命令,也不是可运行的程序
原文转自 http://blog.csdn.net/alexcrazy/article/details/7183312 >正在执行自定义生成步骤 >'nasm' 不是内部或外部命令,也不是 ...
- C/S模式和BS模式是什么?
C/S是Client/Server,即客户端/服务器:B/S是Browser/Server,即浏览器/服务器的意思. C/S (Client/Server)结构,即大家熟知的客户机和服务器结构.它 ...
- ANDROID开发笔记(二)
动机: 开发的一个背单词的软件. 不会实现划屏的特性. 方法: 第一步尝试: 在MainActivity中, 增加以下代码后, 如果在视图的空白处点击时, 文本框中的时间就会发生改变. @Overri ...
- python 的requests如何使用代理
headers.py import random first_num = random.randint(55, 62) third_num = random.randint(0, 3200) four ...
- ES6 - Babel编译环境搭建
都看到这里了,我就不写什么node环境安装之类的了. 直接从新建项目文件夹后开始吧! 安装依赖: 命令行cd到项目文件夹之后,执行以下命令:(mac记得前边加sudo) npm init –y // ...
- linux文件名匹配
* 匹配文件名中的任何字符串,包括空字符串. ? 匹配文件名中的任何单个字符. [...] 匹配[ ]中所包含的任何字符. [!...] 匹配[ ]中非感叹号!之后的字符. 如: s* ...
- Python的网络编程[4] -> DHCP 协议[1] -> DHCP 的 Python 实现
DHCP实现 / DHCP Implement 目录 DHCP 服务器建立过程 DHCP 报文加码实现过程 下面介绍建立一个简单的DHCP服务器,主要用于对基本的DHCP请求进行响应,目前只提供一个I ...
- 最小生成树【p2121】 拆地毯
题目描述--->p2121 拆地毯 分析 这题为什么是最大生成树. 先来bb两句 题目为拆地毯,让我们剩下k个地毯. 题目想要我们求得最大的美丽度. 且要求我们 保留的地毯构成的图中,任意可互相 ...
- Best Time to Buy and Sell Stock with Cooldown -- LeetCode
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- JSP(待更新)
1.概念: 所谓JSP就是在HTML中嵌入大量的java代码而已.