LeetCode 3:无重复字符的最长子串

题目

这里写图片描述

思路

设置一个变量start用于记录不重复区间的起始位置。对第i个字符,检测从start开始到i-1的字符中是否存与第i个字符相同的,不相同则长度计数+1,否则,将start置为i,进行下一轮检测,直到遍历完所有字符。

代码

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        int n=s.size();
        if(n<=1)
            return n;
        int maxSize=1;
        int start=0;
        for(int i=1;i<n;i++)
        {
            int tempSize=1;
            for(int j=start;j<i;j++)
            {
                if(s[i]!=s[j])
                    tempSize++;
                else
                {
                    start=j+1;
                    break;
                }
            }
            maxSize=tempSize>maxSize?tempSize:maxSize;
        }
        return maxSize;
    }
};

猜你喜欢

转载自blog.csdn.net/lin453701006/article/details/80859120