一刷,险些被自己绕进去了,哈哈哈
题目描述:
给定一个字符串
s
,请你找出其中不含有重复字符的 最长子串的长度。输入: s = "abcabcbb" 输出: 3
def lengthOfLongestSubstring(self, s: str) -> int:
if len(s) == 0:
return 0
# left记录上次重复字符的索引位置
res, left = 0, 0
dic = {}
for i in range(len(s)):
if s[i] in dic:
res = max(i-left, res)
left = max(left, dic[s[i]]+1)
dic[s[i]] = i
else:
dic[s[i]] = i
return max(res, len(s)-left)