private:
vector<string> ans;
vector<string> temp;
public:
/**
*
* @param s string字符串
* @return string字符串vector
*/
void DFS(int n,int dep,string s){
if(dep==4){
if(n==s.size())
{
string ss="";
for(int i=0;i<temp.size();i++){
ss+=temp[i];
if(i!=temp.size()-1)
ss+=".";
}
ans.push_back(ss);
}
return;
}else{
int tt=0;
string t_s="";
for(int i=1;i<=3;i++){
tt=tt*10+s[n+i-1]-'0';
t_s+=s[n+i-1];
if(tt>=0&&tt<=255){
temp.push_back(t_s);
DFS(n+i,dep+1,s);
temp.pop_back();
}
if(tt==0)
break;
}
}
}
vector<string> restoreIpAddresses(string s) {
// write code here
DFS(0,0,s);
return ans;
}
};