目录
1 题目
2 题解
3 Python
1 题目 2 题解
依次遍历每一个不带有重复字符的子串,求其长度,获取最大值就是结果
3 Pythonclass Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
#如果字符串为空
#边界
if s=='':
return 0
#当前最长子串左侧字符所处的索引
left=0
#当前的最长子串
char_set=set()
#结果
result=0
#当前最长子串长度
current_result=0
#遍历字符串
for i in s:
current_result+=1
#如果当前字符已经遍历过了
#最长子串中包含重复的字符了
#删除掉重复位置和重复位置之前的所有字符
#形成新的最长子串
while i in char_set:
char_set.remove(s[left])
#左位置右移
left+=1
#当前最长子串长度-1
current_result-=1
#新找到的最长子串长度
if current_result>result:
result=current_result
#添加当前字符到最长子串中
char_set.add(i)
return result
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)