#include <bits/stdc++.h> using namespace std; int lengthOfLongestSubstringTwoDistinct(std :: string s){ int n = s.length(); if(n < 3){ return n; } int left = 0; int right = 0; std::unordered_map<char, int> hashmap; int max_len = 2; for(right = 0; right < s.length(); right ++){ hashmap[s[right]] ++; //此时hashmap的value值为元素的个数 while(hashmap.size() > 2){ hashmap[s[left]] --; if(!hashmap[s[left]]){ hashmap.erase(s[left]); } left ++; } max_len = max(max_len, right - left + 1); } return max_len; } int main() { int t; string s; cin >> s; t = lengthOfLongestSubstringTwoDistinct(s); printf("%d\n",t); system("pause"); return 0; }