题解 | #数字字符串转化成IP地址#
数字字符串转化成IP地址
https://www.nowcoder.com/practice/ce73540d47374dbe85b3125f57727e1e
class Solution:
def restoreIpAddresses(self , s: str) -> List[str]:
res = []
i = 1
n = len(s)
while i < 4 and i < n - 2:
j = i + 1
while j < i + 4 and j < n - 1:
k = j + 1
while k < j + 4 and k < n:
if n - k > 3:
k += 1
continue
a = s[0:i]
b = s[i:j]
c = s[j:k]
d = s[k:]
if int(a) > 255 or int(b) > 255 or int(c) > 255 or int(d) > 255:
k += 1
continue
if (len(a) != 1 and a[0] == '0'
or len(b) != 1 and b[0] == '0'
or len(c) != 1 and c[0] == '0'
or len(d) != 1 and d[0] == '0'): # 判断长度有前导零的情况
k += 1
continue
tmp = ''+a+'.'+b+'.'+c+'.'+d
res.append(tmp)
k += 1
j += 1
i += 1
return res

上海得物信息集团有限公司公司福利 1198人发布