您的位置:首页 > 其它

restore-ip-addresses

2017-09-25 15:48 351 查看
题目:

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)

程序:

class Solution {
public:
vector<string> restoreIpAddresses(string s) {
vector<string> result;
string t;
DFS(result,t,s,0);
return result;
}

void DFS(vector<string> &result, string t, string s, int count)
{
if(count==3 && isValid(s))
{
result.push_back(t+s);
return;
}
for(int i=1;i<4 && i<s.size();i++)
{
string sub = s.substr(0,i);
if(isValid(sub))
DFS(result, t+sub+'.', s.substr(i),count+1);
}
}

bool isValid(string &s)
{
stringstream ss(s);
int num;
ss>>num;
if(s.size()>1)
return s[0]!='0' && num>=0 && num<=255;
return num>=0 && num<=255;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 递归