题目描述:

JZ48 最长不含重复字符的子字符串


思路:哈希表+滑动窗口

class Solution {
public:
  	int lengthOfLongestSubstring(string s) {
      	// key=字母, value=最新的下标的位置 
      	map<char, int> mp;
      	int l = 0, r = 0;
      	int res = 0;
      	while (r < s.length()) {
          	if (mp.find(s[r]) != mp.end()) {
              	l = max(l, mp[s[r]]);
            }
          	mp[s[r]] = r+1;
          	res = max(res, r-l+1);
          	r++;
        }
      	return res;
    }
}

😘😘😘😘