leetcode 3. 无重复字符的最长子串

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;
    }
};
原文地址:https://www.cnblogs.com/hzcya1995/p/13309168.html