普通解法时间复杂度其实是n2空间复杂度1class Solution: def lengthOfLongestSubstring(self, s: str) - int: if not s: return 0 max_str, max_len , 0 for char in s: if char in max_str: max_len max(max_len, len(max_str)) max_str max_str max_str char return max_len滑动窗口 哈希方法时间复杂度n空间复杂度1这里空间复杂度是常数个所以是1class Solution: def lengthOfLongestSubstring(self, s: str) - int: if not s: return 0 dic, res, i {}, 0, -1 for j in range(len(s)): if s[j] in dic: i max(dic[s[j]], i) dic[s[j]] j res max(res, j - i) return res