解题思路
取了四部分并且取完,就算是成功的划分方式
93. 复原 IP 地址
代码
class Solution:
def restoreIpAddresses(self, s: str) -> List[str]:
def h(ip, prefix):
if len(prefix) == 4:
return ['.'.join(prefix)] if ip == '' else []
elif ip == '':
return []
else:
if ip[0] == '0':
return h(ip[1:], [*prefix, ip[0]])
else:
s1 = h(ip[1:], [*prefix, ip[0]])
s2 = h(ip[2:], [*prefix, ip[0:2]])
if int(ip[0:3]) <= 255:
s3 = h(ip[3:], [*prefix, ip[0:3]])
else:
s3 = []
return s1+s2+s3
return list(set(h(s, [])))
效果图
网友评论