resotreIpAddress
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)
Subscribe to see which companies asked this question
#include <string>
#include <vector>
using namespace std;
class Solution {
public:
vector<string> restoreIpAddresses(string s) {
vector<string> result;
vector<int> path;
dfs(s,,,path,result);
return result;
}
private:
void dfs(string& s,int start,int num,
vector<int>& path,vector<string>& result){
if(num == ) {
string str = s;
for(int i=;i<;i++){
str.insert(path[i]+i,,'.');
}
result.push_back(str);
return;
} for(int i=;i<;i++){
if((start+i)<s.length() && -num<=s.substr(start+i).length() && s.substr(start+i).length()<=(-num)*){
if(stoi(s.substr(start,i))<=){
if(i> && s[start] =='') break;
if(num== && stoi(s.substr(start+i))>) continue;
if(num== && s.substr(start+i).length()> && s[start+i]=='') continue; if(path.empty()) path.push_back(i);
else path.push_back(path.back()+i);
dfs(s,start+i,num+,path,result);
path.pop_back();
}
}
}
}
};
int main(){
string IPaddress="";
Solution s;
vector<string> result;
result = s.restoreIpAddresses(IPaddress);
return ;
}
resotreIpAddress的更多相关文章
随机推荐
- Javascript几个时髦的hack技巧《Javascript Hacks for Hipsters》
转自:http://berzniz.com/post/68001735765/javascript-hacks-for-hipsters Javascript Hacks for Hipsters J ...
- 基于 Raphael 的 Web UI 设计 - 初稿
基于 Raphael 的 UI 设计 - 初稿 还有很多地方需要完善,这次要把 Raphael 彻底用起来,^_^, 一定要150字哦,一图抵千字啊,^_^,不喜欢写字的,那么怎么凑够150字呢,说说 ...
- SQL字符串分割转列,Sql列转字符串
declare @strVar varchar(2000)declare @ResultVar varchar(2000)set @ResultVar='[薄饼],[点心],[海鲜],[酒吧],[楼面 ...
- JQuery对象函数
1.JQuery对象函数写法格式 简单示例: main代表对象名,main.roleName = (function () { return $('#RoleName').val();})();表示为 ...
- 2-初步了解C#-类与对象
本篇博客对应视频讲解 回顾 我们在第一篇文章中讲了编程中最基本的内容,如输入输出.字符串处理.数字类型计算.分支及循环结构等.无论学习什么语言,这些内容都是相通的. 本篇博客主要演示列表(List)的 ...
- Java50道经典习题-程序6 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数 两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...
- python中的循环和编码,运算符, 格式化输出
1.while循环 现在让我们来看看python中的while循环 格式为 while 条件 循环体 (break) (continue) 中断循环的关键字有break和continue, brea ...
- leetcode 56 合并区间 JAVA
题目: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [ ...
- SpringMVC常用方法大全
---恢复内容开始--- web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app x ...
- 洛谷P4250 [SCOI2015]小凸想跑步(半平面交)
题面 传送门 题解 设\(p\)点坐标为\(x_p,y_p\),那么根据叉积可以算出它与\((i,i+1)\)构成的三角形的面积 为了保证\(p\)与\((0,1)\)构成的面积最小,就相当于它比其它 ...