storeIpAddresses

来源:互联网 发布:tensorflow.org打不开 编辑:程序博客网 时间:2024/06/03 07:39
#include<iostream>
#include<string>
#include<vector>
using namespace std;
void dfs(string s,size_t start,size_t step,string&ip,vector<string>& result)
{
if(start==s.size()&&step==4)
{
ip.resize(ip.size()-1);
result.push_back(ip);
return;
}
if((s.size()-start)>(4-step)*3)
return;
if((s.size()-start)<(4-step))
return;
int num=0;
for(size_t i=start;i<start+3;++i)
{
num=num*10+(s[i]-'0');
if(num<=255)
{
ip+=s[i];
dfs(s,i+1,step+1,ip+'.',result);
}
if(num==0)
break;
}
}


vector<string> restoreIpAddresses(string s)
{
vector<string> result;
string ip;
dfs(s,0,0,ip,result);
return result;
}




int main()
{
string s("25525511135");
vector<string> result=restoreIpAddresses(s);
for(auto ip:result)
cout<<ip<<endl;
return 0;
}
0 0
原创粉丝点击