思路:從第一個字符開始取出,放入子串數(shù)組革为。循環(huán)扭粱,如果下一個字符不在子串數(shù)組里面,將其添加進來震檩,如果在琢蛤,則把子串從重復的字母往后切片,添加該字符后抛虏,繼續(xù)循環(huán)
Python代碼如下:
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
ss = []
maxl = 0
for i in s:
if i not in ss:
ss.append(i)
else:
#從重復的字母往后切片博其,添加該字符后,繼續(xù)循環(huán)
ss=ss[ss.index(i)+1:]
ss.append(i)
maxl = max(maxl, len(ss))
return maxl
題目描述:
給定一個字符串迂猴,請你找出其中不含有重復字符的 最長子串 的長度慕淡。
示例 1:
輸入: "abcabcbb"
輸出: 3
解釋: 因為無重復字符的最長子串是 "abc",所以其長度為 3错忱。
示例 2:
輸入: "bbbbb"
輸出: 1
解釋: 因為無重復字符的最長子串是 "b"儡率,所以其長度為 1。
示例 3:
輸入: "pwwkew"
輸出: 3
解釋: 因為無重復字符的最長子串是 "wke"以清,所以其長度為 3儿普。
請注意,你的答案必須是 子串 的長度掷倔,"pwke" 是一個子序列眉孩,不是子串。