Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
,
which the length is 3.
Given "bbbbb"
, the answer is "b"
,
with the length of 1.
Given "pwwkew"
, the answer is "wke"
,
with the length of 3. Note that the answer must be a substring, "pwke"
is
a subsequence and not a substring.
解法:
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
max_length = 0
substring = []
for v in s:
# 如果不一样 就一直加上去 如果一样 就取'一样'后面的 比如 abcdb 就取cdb
if v in substring:
substring = substring[substring.index(v) + 1:]
substring.append(v)
max_length = max(max_length, len(substring))
return max_length
print Solution().lengthOfLongestSubstring('abaadaffafcd')