直接使用写好的代码,略作修改:
class Solution:
def lengthOfLongestSubstring(self, s: str) -> int:
#1.self是在类中声明函数的时候使用,调用的时候可以忽略,后面的->int 是指该函数返回int类型的结果
if not s:return 0
left = 0
lookup = set()
n = len(s)
max_len = 0
cur_len = 0
for i in range(n):
cur_len += 1
while s[i] in lookup:
lookup.remove(s[left])
left += 1
cur_len -= 1
if cur_len > max_len:max_len = cur_len
lookup.add(s[i])
return max_len
Solution=Solution()#调用的时候有点像c#中的创建类
#声明后调用函数,函数调用的时候不写self和->int
print(Solution.lengthOfLongestSubstring("abcabcbb") )
运行结果是3
参考:滑动窗口题解