1. 程式人生 > >leetcode 3. 無重複字元的最長子串 (python語言)

leetcode 3. 無重複字元的最長子串 (python語言)

class Solution:
def lengthOfLongestSubstring(self, s):
“”"
:type s: str
:rtype: int
“”"
# s為空時返回0
if not s:
return 0
# 非空字串的長度最小為1
long = 1
# 子串
sub_str = “”
for items in s:
if items not in sub_str: # 如果在s中的字母在sub_str中沒有,則加上
sub_str += items
else:
if len(sub_str) > long: # 如果sub_str的長度大於1,long賦為當前的不含有重複字串的最長子串的長度
long = len(sub_str)
sub_str += items # sub_str的後面加上s的字母
sub_str = sub_str[sub_str.indx(items) + 1:]
if len(sub_str) > long: # 如果sub_str的長度大於1,long賦為當前的不含有重複字串的最長子串的長度
long = len(sub_str)
return long # 返回不含有重複字元的最長子串的長度