博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode--Restore IP Addresses
阅读量:5328 次
发布时间:2019-06-14

本文共 1288 字,大约阅读时间需要 4 分钟。

dfs即可

注意边界情况:

(1)s长度不在4 和 12之间

(2)"010"这种形式是错误的

1 class Solution { 2 public: 3     vector
restoreIpAddresses(string s) { 4 vector
res; 5 if(s.length() < 4 || s.length() > 12){ 6 return res; 7 } 8 9 dfs(s,"",res,0);10 return res;11 }12 void dfs(string ip,string tmpres,vector
&res,int cnt){13 if(cnt == 3 && isvalid(ip)){14 string tmp = tmpres+ip;15 res.push_back(tmp);16 return;17 }18 for(int i = 1 ; i < 4 && i < ip.length() ; ++i){19 string tmp = ip.substr(0,i);20 if(isvalid(tmp)){21 dfs(ip.substr(i),tmpres+tmp+".",res,cnt+1);22 }23 }24 }25 bool isvalid(string str){26 if(str.length() <= 0)27 return false;28 int tmp = atoi(str.c_str());29 if(str[0] == '0'){30 if(str == "0"){31 return true;32 }33 else34 {35 return false;36 }37 }38 if(tmp <= 255 && tmp > 0){39 return true;40 }41 return false;42 }43 };

 

转载于:https://www.cnblogs.com/cane/p/3955457.html

你可能感兴趣的文章
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>
Redis常用命令
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>
阿里巴巴面试之利用两个int值实现读写锁
查看>>
浅谈性能测试
查看>>
Winform 菜单和工具栏控件
查看>>