给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
longest_length = 0
left_index, right_index = 0, 0
for right_index, e in enumerate(s):
slice = s[left_index : right_index]#左闭右开
if e in slice:
length = right_index - left_index
longest_length = max(length, longest_length)
left_index = left_index + slice.index(e) + 1
# 当整个序列s都没有重复的情况下, 需要单独考虑
length = len(s) - left_index
longest_length = max(length, longest_length)
return longest_length
使用数字longest_length,从而避免开辟新的存储空间
利用双指针以加快运行速度