首页 > 代码库 > LeetCode——Restore IP Addresses
LeetCode——Restore IP Addresses
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)
题目是给一个string,划分合理的ip的地址并给出包含所有合理的ip地址的list,我们知道ip地址的组成是4个部分,合理的范围是0.0.0.0~255.255.255.255。
代码主要有两个函数:
isValid——验证是否合理,如果开头是0则这个串必须是0,否则必须大于0小于255;
dfs——使用深搜的方式,搜索所有可能的组合;
所以用DFS的方式,搜索所有可能的组合,每一次搜索至第四个部分的时候,如果也是valid的话,那么这是一个合理的IP,添加到结果列表里
注意一下生成IP的细节, 添加 . 什么的。
Python代码如下:
1 class RestoreIPAddress: 2 3 def isValid(self, src): 4 if src[0] == ‘0‘: 5 return src =http://www.mamicode.com/= ‘0‘ 6 return 255 >= int(src) > 0 7 8 def dfs(self, src, temp, res, count): 9 if count == 3 and self.isValid(src):10 res.append(temp + src)11 return12 for i in range(1, min(4, len(src))):13 sub = src[0:i]14 if self.isValid(sub):15 self.dfs(src[i:], temp + sub + ‘.‘, res, count + 1)16 17 def restoreIpAddresses(self, s):18 if len(s) < 4 or len(s) > 12:19 return []20 res = []21 self.dfs(s, "", res, 0)22 # print(res)23 return res24 25 p = RestoreIPAddress()26 p.restoreIpAddresses("0000")
LeetCode——Restore IP Addresses
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。