LongestSubstringWithAtMostTwoDistinctCharacters