题目描述:
![](https://i-blog.csdnimg.cn/blog_migrate/a209a251c40adba40ed310544e8814de.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d0dbcfd6c69adbddcaf487b19b56e09f.png)
算法:滑动窗口
用一个变量存储窗口中的子串,如果当前字符出现在窗口中,则更新窗口,截取出现的字符的位置+1;若没出现,咋直接加进窗口中即可。在滑动的过程中,记录最长窗口长度。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
#方法一:滑动窗口
ss=''#滑动窗口
ans=0
for i in s:
if i not in ss:
ss+=i
ans=max(ans,len(ss))
else:
ss=ss[ss.index(i)+1:]+i
return ans