leetcode-前300经典刷题-3(C++)

题目:
3. 无重复字符的最长子串
示例 1:

输入: “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

// 题目3
int lengthOfLongestSubstring(string s)
{
	// 记录sting:index
	map m;
	// res
	int res = 0;
	int start = 0; // 代表记录第一次不重复字符出现的地方
	for (int i(0); i < s.length(); i++) {
		if ((m.find(s[i]) != m.end()) && (m[s[i]] >= start)) {
			start = m[s[i]] + 1;
		}
		else {
			res = max(res, i - start + 1);
		}
		m[s[i]] = i;
	}
	return res;

}

你可能感兴趣的:(leetcode)