93. Restore IP Addresses
来源:互联网 发布:linux怎样启动tomcat 编辑:程序博客网 时间:2024/06/05 02:48
93. Restore IP Addresses
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)
解法1:直接将字符串分成4段,判断它们是否有效。点击打开链接
vector<string> restoreIpAddresses(string s) { int n=s.size();string s1; vector<string> ans; for(int a=1;a<4;a++) for(int b=1;b<4;b++) for(int c=1;c<4;c++) for(int d=1;d<4;d++) { if(a+b+c+d==n) { int A=stoi(s.substr(0,a)); int B=stoi(s.substr(a,b)); int C=stoi(s.substr(a+b,c)); int D=stoi(s.substr(a+b+c,d)); if(A<256&&B<256&&C<256&&D<256) if((s1=to_string(A)+"."+to_string(B)+"."+to_string(C)+"."+to_string(D)).size()==n+3) ans.push_back(s1); } } return ans; }
解法2:dfs回溯法点击打开链接
class Solution { void helper(string s,vector<string>& sol,vector<string>& res,int length){ if(length==0 && sol.size() == 4){ string tmp = ""; tmp += (sol[0]+"."); tmp += (sol[1]+"."); tmp += (sol[2]+"."); tmp += (sol[3]); res.push_back(tmp); return; } else if(sol.size()==4 && length!=0) return; else if(sol.size()!=4 && length==0) return; for(int i=1;i<=3 && i<=length;i++){ string ts = s.substr(s.length()-length,i); int num = stoi(ts); if(num>=0 && num<=255 && !(i>1 && ts[0]=='0')){ sol.push_back(ts); helper(s,sol,res,length-i); sol.pop_back(); } } }public: vector<string> restoreIpAddresses(string s) { int n=s.size();string s1; vector<string> ans,sol; helper(s,sol,ans,n); return ans; }};
0 0
- 93.Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- 93. Restore IP Addresses
- MySQL5.7.13更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'
- jquery eval解析JSON中的注意点介绍
- 洛谷 P1070 道路游戏
- 数据结构-线性表
- php-beast加密php源码
- 93. Restore IP Addresses
- std::shared_ptr
- DOM 学习之—添加+-按钮
- 欢迎使用CSDN-markdown编辑器
- API文档
- effective C++之析构函数不该抛出异常
- Unity&Shader基础篇-绘图2D图形
- 随便想到,群聊天的数据库简单设计
- HDU 1896 Stones (优先队列的应用)