手记

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+;                    break;
                }                else{
                    len++;
                }
            }
            maxl=max(len,maxl);
            right++;
        }        return maxl;
    }
};
0人推荐
随时随地看视频
慕课网APP