[LeetCode]Restore IP Addresses
2015-12-14 22:57
399 查看
Given a string containing only digits, restore it by returning all possible valid IP address combinations.
For example:
Given
return
DFS+剪枝
注意双0的情况
For example:
Given
"25525511135",
return
["255.255.11.135", "255.255.111.35"]. (Order does not matter)
DFS+剪枝
注意双0的情况
class Solution { public: vector<string> restoreIpAddresses(string s) { vector<string> ret; string ip; dfs(s,0,0,ip,ret); return ret; } void dfs(string s,size_t start,int step,string ip,vector<string> &ret){ if(start==s.size()&&step==4){ ip.resize(ip.size()-1); ret.push_back(ip); return; } if(s.size()-start>3*(4-step)) return; if(s.size()-start<4-step) return; int num = 0; for(size_t i=start; i<start+3; ++i){ ip =ip+s[i]; num = 10 * num + s[i]-'0'; if(num <= 255) dfs(s,i+1,step+1,ip+'.',ret); if(num == 0) //no single 0 break; } } };
相关文章推荐
- JDOM实现XML文件的遍历
- RTL2832U+R820电视棒跟踪飞机轨迹教程(ADS-B)
- 1.18 组件映射(一个表对应两个类)
- lnmp 记录
- IOS远程推送基础
- Activity跳转 如A —> B生命周期
- FreeStor究竟能够有多Free
- 读书笔记《高效程序员的45个习惯敏捷开发修炼之道》
- SqlConnection,OleDbConnection,OdbcConnection和OracleConnection
- 【待解决】使用JUnit时报错java.lang
- 【Servlet 】工作原理解析2
- 罗懋康教授: 学数学, 要通“心法”
- 编译 PHP时提示mysql 错误
- 1.Benchmark SQL 数据库测试工具使用——安装使用
- K均值聚类(Kmeans)
- 第二次练习
- 【生活中的小事儿】
- Ajax工作原理(转)
- VIM中括号的自动补全与删除
- 【Android】编程检查服务是否可用, service available programmally