给定一个字符串,找到不重复字符的最长子字符串的长度。 例如,对于“abcabcbb”,不重复字母的最长子字符串是“abc”,长度为3.对于“bbbbb”,最长子字符串是“b”,长度为1。
class Solution { public: int lengthOfLongestSubstring(string s) { map<char, int> mp; for (int i=0; i<s.length(); i++) mp[s[i]] = -1;//初始化哈希表 int pre = -1, Max = 0; for (int i=0; i<s.length(); i++){ pre = max(pre, mp[s[i]]); Max = max(Max, i-pre); mp[s[i]] = i; } return Max; } };
原文:http://www.cnblogs.com/Kobe10/p/6360993.html