【Leetcode】3 lengthOfLongestSubstring python解法

lengthOfLongestSubstring 无重复字符最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。

输入: “abcabcbb”
输出: 3
解释: 无重复字符的最长子串是 “abc”,其长度为 3。

输入: “bbbbb”
输出: 1
解释: 无重复字符的最长子串是 “b”,其长度为 1。

python解法
暴力穷举法:用一个list存遍历过的子串,如果当前元素不在list中就把元素push进去,然后不断比较更新最长子串的长度

class Solution:
    def lengthOfLongestSubstring(self, s):
        """
        :type s: str
        :rtype: int
        """
        stack = []
        maxl = 0
        for x in s:
            if x not in stack:
                stack.append(x)
            else:
                i = stack.index(x)
                stack = stack[i+1:]
                stack.append(x)
            maxl = max(len(stack), maxl)
        return maxl

猜你喜欢

转载自blog.csdn.net/qq_30615903/article/details/81869001
今日推荐