class Solution {
public:
int lengthOfLongestSubstringTwoDistinct(string s) {
int len = s.length();
unordered_map<char,int> existingChars;
int cnt = 0, longest = 0, st = 0;
for(int ed = 0; ed < len; ed++){
if(existingChars[s[ed]]==0){
cnt++;
}
existingChars[s[ed]]++;
for(;cnt>2;st++){
existingChars[s[st]]--;
if(existingChars[s[st]]==0){
cnt--;
}
}
longest = max(longest, ed-st+1);
}
return longest;
}
};
Leetcode Longest Substring with At Most Two Distinct Characters
最新推荐文章于 2022-08-10 11:37:36 发布