classSolution { public: intlengthOfLongestSubstring(string s){ int len = s.length(); if (len < 2) return len;
unordered_map<char, int> loc; int ans = 0; int left = 0, right = 0; while (right < len) { if (loc.count(s[right]) == 1 && loc[s[right]] >= left) { ans = ans >= right - left ? ans : right - left; left = loc[s[right]] + 1; } loc[s[right]] = right; right++; } ans = ans >= right - left ? ans : right - left;