class Solution {
public:
vector<string>ret;
bool judge(string s,int start,int end)
{
if(start>end)
{
return false;
}
if(s[start]=='0'&&start!=end)
{
return false;
}
int num=0;
for(int i=start;i<=end;i++)
{
if(s[i]>'9'||s[i]<'0')
{
return false;
}
num=num*10+(s[i]-'0');
if(num>255)
{
return false;
}
}
return true;
}
void set(string s,int start,int point)
{
if(point==3)
{
if(judge(s,start,s.size()-1))
{
ret.push_back(s);
}
return ;
}
for(int i=start;i<s.size();i++)
{
if(judge(s,start,i))
{
s.insert(s.begin()+i+1,'.');
point++;
set(s,i+2,point);
point--;
s.erase(s.begin()+i+1);
}
else
{
break;
}
}
}
vector<string> restoreIpAddresses(string s) {
if(s.size()>12||s.size()<4)
{
return ret;
}
set(s,0,0);
return ret;
}
};
11-12
412
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交