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的更多相关文章

随机推荐

  1. D3.js的基础部分之数组的处理 映射(v3版本)

    映射(Map)   映射(Map)是十分常见的一种数据结构,由一系列键(key)和值(value)组成的.每个key对应一个value,根据key可以获取和设定value,也可以根据key来查询val ...

  2. CDH源代码

    CDH Packaging and Tarball Information http://www.cloudera.com/content/cloudera/en/documentation/core ...

  3. Jenkins启动Tomcat时提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

      Jenkins构建提示: [SSH] executing...Neither the JAVA_HOME nor the JRE_HOME environment variable is defi ...

  4. C# 实用小类

    /// <summary> /// 汉字转换拼音 /// </summary> /// <param name="PinYin"></pa ...

  5. AngularJs2 构建简单的英雄编辑器

    参考上一篇文章的步骤,重新把相关环境准备.目录结构走一遍. 这一次我们要开始创建真正的Angularjs项目了. 显示我们的英雄 我们要在应用中显示英雄数据 我们来为 AppComponent 添加两 ...

  6. [Oracle]Oracle部分函数

    1.nvl(a,b) 若a为null,则b 2.to_char(date,'YY-MM-DD') 按格式将date类型转为字符串 to_date('1999/1/1','YY-MM-DD') 将字符串 ...

  7. 手把手教你搭建hadoop+hive测试环境(新手向)

    本文由  网易云发布. 作者:唐雕龙 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 面向新手的hadoop+hive学习环境搭建,加对我走过的坑总结,避免大家踩坑. 对于hive相关docke ...

  8. 【题解】 洛谷P2340 奶牛会展

    传送门 重新开始打代码Day1 第一眼看感觉不对啊,这道题目好像空间开不下,是不是不能dp... 后来想到了一个思路,他要求的是\(dp_{i,j,k}=j+k\),然后这样子不是很奇怪吗? 直接一维 ...

  9. C - Oil Deposits(dfs)

    点击打开链接 Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  10. jquery优化轮播图2

    继续优化 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...