Longest Substring Without Repeating Characters[LeetCode/Python3/Medium]
題目
給定一個字符串s
,找到不含重複字符的最長子串的長度。
例子 1:
輸入: s = "abcabcbb"
輸出: 3
解釋: 答案是 "abc",長度為 3。
例子 2:
輸入: s = "bbbbb"
輸出: 1
解釋: 答案是 "b",長度為 1。
例子 3:
輸入: s = "pwwkew"
輸出: 3
解釋: 答案是 "wke",長度為 3。
注意答案必須是子串,"pwke" 是一個子序列而不是子串。
限制:
0 <= s.length <= 5 * 104
s
由英文字母、數字、符號和空格組成。
我的答案
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
if not s:
return 0
if len(s)==1:
return 1
head=0
longest_s=0
for i in range(1,len(s)+1):
sub_string=s[head:i]
if i<len(s):
while s[i] in s[head:i]:
head+=1
if s[i]==s[head] and i-1 ==head:
head=i
if len(sub_string) > longest_s:
longest_s=len(sub_string)
return longest_s
留言
張貼留言