滑动窗口(双指针) class Solution { public: int lengthOfLongestSubstring(string s) { unordered_map<char,int>hash; int ans=0; for(int i=0,j=0;i<s.size();i++){ hash[s[i]]++; while(hash[s[i]]>1)hash[s[j++]]--; //维护滑动窗口内的元素不重复 ans=max(ans,i-j+1); } return ans; } };