#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @return string字符串一维数组
#
class Solution:
def ser(self, strs, now, ind, poi):
if ind>=self.leg:
return 0
if poi==2:
if self.leg-ind<=3:
if int(self.s[ind:])<=255:
if len(self.s[ind:])==1 or int(self.s[ind])>0:
news = strs+'.'+self.s[ind:]
self.all.append(news)
return 0
else:
if len(now)>0:
if int(now)>=0 and int(now)<=255:
if len(strs)==0:
self.ser(now,'',ind,poi)
else:
news = strs+'.'+now
self.ser(news, '', ind,poi+1)
if len(now)<3:
if len(now)==0:
self.ser(strs, now+self.s[ind],ind+1,poi)
elif int(now)>0:
self.ser(strs, now+self.s[ind],ind+1,poi)
def restoreIpAddresses(self , s: str) -> List[str]:
# write code here
if len(s)==0:
return []
self.s = s
self.leg = len(self.s)
self.all =[]
self.ser('','',0,0)
return self.all