题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
class Solution():
def __init__(self):
self.substr=''
self.max_length=0
def conv(substr):
subj=substr[-1]
# print('subj:',subj)
for i in range(0,len(substr)-1):
subi=substr[i]
# print('subi:',subi)
# print(subi==subj)
if subj==subi:
return False
else:
i=i+1
return True
def main(self,s):
i = 0
j = 1
while i < len(s)-1:
# print("i:",i)
if i ==0:
substr=s[i]
else:
substr=s[i:j]
# print("substr_0:",substr)
while j <= len(s)-1:
# print("j:",j)
tmp_substr=substr+s[j]
# print("tmp_substr:",tmp_substr)
if Solution.conv(tmp_substr):
# print("True:",tmp_substr)
substr=tmp_substr
j=j+1
else:
# print("False:",substr)
if len(substr)>self.max_length:
self.substr=substr
self.max_length=len(substr)
break
i=i+1
return self.max_length
if __name__ == '__main__':
fun= Solution()
print(fun.main('abcddabca'))