LeetCode Restore IP Addresses
2014-03-03 19:47
330 查看
思路:可以枚举不用递归了,每个数字最多有三位数字,倒是由于马虎多提交了两次。
bool isValidNum(string s) { int num = 0; int len = s.length(); if(len>1&&s[0]=='0') return false; for (int i=0;i<len;i++) { num = num*10 + s[i] - '0'; } if(num>=0&&num<=255) return true; else return false; } vector<string> restoreIpAddresses(string s) { int n = s.length(); vector<string> ret; if(n<4||n>12) return ret; string temp; string temp1,temp2,temp3,temp4; for (int i1=1;i1<=3;i1++) { for (int i2=1;i2<=3;i2++) { for (int i3=1;i3<=3;i3++) { for (int i4=1;i4<=3;i4++) { if(i1+i2+i3+i4==n) { temp1 = s.substr(0,i1); if(!isValidNum(temp1)) continue; temp2 = s.substr(i1,i2); if(!isValidNum(temp2)) continue; temp3 = s.substr(i1+i2,i3); if(!isValidNum(temp3)) continue; temp4 = s.substr(i1+i2+i3,i4); if(!isValidNum(temp4)) continue; temp = temp1 + "." + temp2 + "." + temp3 + "." + temp4; ret.push_back(temp); } } } } } return ret; }
相关文章推荐
- Python 中调用命令行命令
- Python 几个重要的内置函数
- 最大子段和
- 关于UIView的autoresizingMask属性
- 每天一个linux命令(47):iostat命令
- mysql安装
- 作业、进程、线程
- ovs的安装和使用
- [跨浏览器插件开发] FireBreath插件权限问题
- listview中不同行的应用不同的布局
- pat 1017
- android中11个
- 小球下落
- 归并排序(迭代实现)- 数据结构和算法95
- 挂载盘显示busy
- poj——2856——Y2K Accounting Bug
- 八大排序算法
- 我的面试经历——持续补充....
- 使用PuTTY或PieTTY远程免密码登陆Linux
- [Phonegap+Sencha Touch] 移动开发9、scss编译成css,如何去除-moz-、-o-、-ms-前缀