給定一個字符串,請你找出其中不含有重複字符的最長子串的長度。
示例 1:
輸入: "abcabcbb"
輸出: 3
解釋: 因爲無重複字符的最長子串是 "abc",所以其長度爲 3。
思路:遍歷給定的字符串,依次將單個字符添加到列表中,如果出現重複字符,直接將列表中相應字符之前的所有字符都移除掉,每執行一次以上操作計算一次列表長度,最終通過比較就會得到最長字符串長度。本人的程序在leecode執行用時60ms,擊敗了99%的用戶。
def lengthOfLongestSubstring(self, s):
w=[]
maxlen=0
for i in s:
if i in w:
del w[:w.index(i)+1]
w.append(i)
print(w)
length=len(w)
maxlen=max(maxlen,length)
return maxlen