版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36811967/article/details/88237337
给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。
示例:
输入: “25525511135”
输出: [“255.255.11.135”, “255.255.111.35”]
回溯:
class Solution:
def restoreIpAddresses(self, s):
"""
:type s: str
:rtype: List[str]
"""
self.res = []
if len(s) > 12:
return self.res
self.helper(s, [])
return self.res
def helper(self, s, tmp):
if not s and len(tmp) == 4:
self.res.append('.'.join(tmp.copy()))
return
for i in range(1, 4): # 取一位到三位
if i > len(s):
break
num = int(s[:i])
if str(num) == s[:i] and num <= 255: # 不以0开头
self.helper(s[i:], tmp+[s[:i]])