题目描述:
给定一个字符串 s ,找出 至多 包含两个不同字符的最长子串 t ,并返回该子串的长度。
示例 1:
输入: “eceba”
输出: 3
解释: t 是 “ece”,长度为3。
示例 2:
输入: “ccaabbb”
输出: 5
解释: t 是 “aabbb”,长度为5。
方法1:
主要思路:
(1)使用滑动窗口,加哈希统计;
(2)当统计的元素数量是3时,需要减小窗口内的元素, 直到元素的数量再次达到2,停止;
class Solution {
public:
int lengthOfLongestSubstringTwoDistinct(string s) {
//特殊的情形直接返回
if(s.size()<