题目
思路
设置一个变量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;
}
};