leetcode-python-无重复字符的最长子串

1)双指针,若fast不存在temp中,则加入。若存在则删除首位,slow前进一位。

保留一个临时变量保存最大长度。

时间复杂度O(n)

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        length = len(s)
        if length == 0:
            return 0
        if length == 1:
            return 1
        result = list()
        slow = 0
        fast = 1
        maxlength = 0
        temp = s[slow]
        while slow <length and fast < length:
            
            if s[fast] not in temp:
                temp += s[fast]
                fast += 1
            else:
                slow += 1
                temp =s[slow:fast]
            maxlength = max(maxlength, len(temp))
        return maxlength
leetcode-python-无重复字符的最长子串

 

 

 

上一篇:每天一道算法题_005_找出环形链表的入口点


下一篇:LeetCode141_环形链表