模板解法
class Solution:
def lengthOfLongestSubstringTwoDistinct(self, s):
n = len(s)
hashTable = {}
max_len = 0
start = 0
for end in range(n):
hashTable[s[end]] = hashTable.get(s[end], 0) + 1
if len(hashTable) <= 2
max_len = max(max_len, end - start + 1)
while len(hashTable) > 2:
head = s[start]
hashTable[head] -= 1
if hashTable[head] == 1:
del hashTable[head]
start += 1
return max_len
测试
sol = Solution()
s = "aabbbccdass"
result = sol.lengthOfLongestSubstringTwoDistinct(s)
print(result)