3. 无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
class Solution {
public:
int lengthOfLongestSubstring(string s) {
if(!s.length()) return 0;//空字符串 直接返回0
int left=0,right=1,maxl=1,len=1;//双指针
while(right<s.length()){
len=1;//len为当前子串中不重复字符个数
for(int i=left;i<right;i++){//遍历右指针前的所有字符
if(s[i]==s[right]){//若有与右指针指向字符相同的字符 则将左指针移动到该字符后一位置
left=i+1;
break;
}
else{
len++;
}
}
maxl=max(len,maxl);
right++;
}
return maxl;
}
};