class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
maxLen = 0
keep = []
for i in range(len(s)):
if s[i] in keep:
maxLen = max(maxLen, len(keep))
if s[i] == s[i-1]: keep = []
else: keep = keep[keep.index(s[i])+1:]
keep.append(s[i])
return max(maxLen, len(keep))
https://leetcode.com/problems/longest-substring-without-repeating-characters/