给定一个字符串 s
,请你找出其中不含有重复字符的 最长子串 的长度。
class Solution {
public:
int lengthOfLongestSubstring(string s){
int start=0,end=0,length=0;
int pos[128]={0};
while(end<s.size())
if(pos[s[end]]==0) pos[s[end++]]++;
else{
length=max(end-start,length);
pos[s[start++]]--;
}
length=max(end-start,length);
return length;
}
};
如果说pos[s[end]==0,那么说明这个数字没有重复,但是如果不等于零,那就说明重复了,需要移动,