给定一个字符串,找出不含有重复字符的最长子串的长度。
示例:
给定 "abcabcbb"
,没有重复字符的最长子串是 "abc"
,那么长度就是3。
给定 "bbbbb"
,最长的子串就是 "b"
,长度是1。
给定 "pwwkew"
,最长子串是 "wke"
,长度是3。请注意答案必须是一个子串,"pwke"
是 子序列 而不是子串。
code
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int len=0;
set<char> dict;
if(s.length()==0)
return 0;
for(int i=0;i<s.length();i++){
for(int j=i;j<s.length();j++){
dict.insert(s[j]);
if(dict.size()==j-i+1)
len=len>(j-i+1)?len:(j-i+1);
else
break;
}
dict.clear();
}
return len;
}
};