最长子串 的长度。
给定一个字符串,找出不含有重复字符的
示例:
给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。
给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。
子串 , "pwke" 是 子序列 而不是子串。
给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个
1 class Solution { 2 public: 3 int lengthOfLongestSubstring(string s) { 4 int ret = 0; 5 map<char, int> m; 6 int start = 1; 7 for (int i = 1; i <= s.length(); i++) 8 { 9 char c = s[i ‐ 1]; 10 if (m[c] >= start) 11 { 12 start = m[c] + 1; 13 m[c] = i; 14 } 15 else 16 { 17 m[c] = i; 18 ret = max(ret, i ‐ start + 1); 19 } 20 } 21 return ret; 22 } 23 };