LeetCode 93. 复原IP地址
class Solution {
public:
vector<string> res;
void dfs(string s,string path,int idx,int cnt)//枚举下一个逗号填哪
{
if(idx>=s.size())
{
if(idx==s.size()&&cnt==4)
{
path=path.substr(0,path.size()-1);
res.push_back(path);
}
return;
}
if(cnt>3) return;
for(int i=1;i<=3;i++)
{
string t=s.substr(idx,i);
int num=stoi(t);
if(num>=0&&num<=255)
{
if(t.size()>1&&t[0]=='0') continue;
else
dfs(s,path+t+'.',idx+i,cnt+1);
}
}
}
vector<string> restoreIpAddresses(string s) {
dfs(s,"",0,0);
return res;
}
};
有帮助的话可以点个赞,我会很开心的~