题目:
方法:
创建一个临时list,存放不重复的值,当出现重复的值时清空该list。
设置一个计数器i,来计算不重复字符串的长度。
将原始列表中所有元素构成的不重复字符串的长度放在syb中。
最后syb中的最大值便是不含重复字符的最长子串长度。
class Solution:
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
x = list(s)
y = x.copy()
syb = [1]
temp = []
i = 0
if len(x) == 0:
return 0
else:
while len(y) > 0:
p = y.pop(0)
if p not in temp:
temp.append(p)
i += 1
else:
temp = temp[temp.index(p)+1:]
temp.append(p)
i = len(temp)
syb.append(i)
return max(syb)