Given a string, find the length of the longest substring without repeating characters.
Example 1:
Input: “abcabcbb”
Output: 3
Explanation: The answer is “abc”, with the length of 3.
Example 2:
Input: “bbbbb”
Output: 1
Explanation: The answer is “b”, with the length of 1.
Example 3:
Input: “pwwkew”
Output: 3
Explanation: 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 = 0
if len(s) == 1:
return 1
for i in range(0, len(s)-1):
j = i + 1
count = 1
temp = [s[i]]
while j < len(s):
if s[j] in temp:
break
else:
temp.append(s[j])
count += 1
j += 1
if count > max:
max = count
return max