无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。
示例:
给定"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
网友评论