美文网首页Leetcode刷题
leetcode 3. 无重复字符的最长子串 python实现

leetcode 3. 无重复字符的最长子串 python实现

作者: vvblack4 | 来源:发表于2019-12-15 15:59 被阅读0次

题目:

leetcode3题目描述

解法:

遍历字符串,并建立一个字典存放当前不重复的字符和下标,记录每一次循环的最大无重复字符串长度,做比较。

class Solution:
    def lengthOfLongestSubstring(self, s: str) -> int:
        max_len = 0
        if s is None or len(s)==0:
            return max_len

        str_dict = {} #存放不重复的字符和下标
        one_len = 0 #每一次循环的最大无重复字符串长度
        start = 0
        for i in range(len(s)):
            if s[i] in str_dict and str_dict[s[i]]>=start:
                start = str_dict[s[i]]+1
            
            one_len = i-start+1
            str_dict[s[i]] = i
            print(str_dict)
            max_len = max(max_len,one_len)
            print(max_len)
        return max_len

相关文章

网友评论

    本文标题:leetcode 3. 无重复字符的最长子串 python实现

    本文链接:https://www.haomeiwen.com/subject/ncpknctx.html