無重複字符的最長字串

題目描述: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
相關文章
相關標籤/搜索