无重复字符的最长子串

无重复字符的最长子串

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

示例:

给定"abcabcbb",没有重复字符的最长子串是"abc",那么长度就是3。

给定"bbbbb",最长的子串就是"b",长度是1。

给定"pwwkew",最长子串是"wke",长度是3。请注意答案必须是一个子串,"pwke"是子序列  而不是子串。

#!/user/bin/env python

# _*_ coding:utf-8 _*_

# __author__ :"ChenJH"

# Date:2018/5/9

class Solution:

#  垃圾一:

    index_dict = {}

    lenght =0;

    begin_index =0;

    end_index =0

    def lengthOfLongestSubstring(self, s):

"""

        :types: str

        :rtype: int

"""

        if len(s)==0:

            return 0

        for indexin range(len(s)):

            self.index_dict={}

            self.index_dict[s[index]] = index

            i =0

            for index2in range(index+1, len(s)):

                if s[index2]in self.index_dict:

                    break

                else:

                    i +=1

                    self.index_dict[s[index2]] = index2

            if i>self.lenght:

                self.lenght = i

                self.begin_index = index

                self.end_index = index+i

    return self.lenght+1

你可能感兴趣的:(无重复字符的最长子串)