題目描述:spa
給定一個字符串,找出不含有重複字符的最長子串的長度。
示例:
給定 「abcabcbb」 ,沒有重複字符的最長子串是 「abc」 ,那麼長度就是3。
給定 「bbbbb」 ,最長的子串就是 「b」 ,長度是1。
給定 「pwwkew」 ,最長子串是 「wke」 ,長度是3。請注意答案必須是一個子串,」pwke」 是 子序列 而不是子串
思路:
假設字符串爲0,返回0便可
遍歷字符串,首先判斷字符是否在字符串tc裏,不在,添加,並記錄字符串的長度
若是在,將字符添加到字符串tc裏,並從出現字符的地方到最後進行截取
class Solution: def lengthOfLongestSubstring(self, s): m = 0 tc = str() for c in s: if c not in tc: tc+=c m=max(len(tc),m) else: tc+=c tc=tc[tc.index(c)+1:] return m