一、题目
二、代码
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int i,j,k;
//最长子串长度
int maxNum = 0;
//当前子串长度
int tmpNum = 0;
//子串容器
string temp;
//遍历字符串
for(i=0;i<s.size();i++)
{
//情况子串
temp.clear();
//将字符s[i]加入temp作为子串首字符
temp += s[i];
//遍历下标i之后的字符
for(j=i+1;j<s.size();j++)
{
//若字符s[j]与子串temp内存在重复字符,跳出循环
for(k=i;k<j;k++)
{
if(s[k] == s[j])
{
break;
}
}
//不存在重复字符,将字符s[j]加入子串
if(k==j)
{
temp += s[j];
}
//存在重复字符,该子串结束,跳出循环
else
{
break;
}
}
//获取当前子串长度
tmpNum = temp.size();
//若当前子串长度大于最大子串长度,则修改最大子串长度值
if(tmpNum > maxNum)
{
maxNum = tmpNum;
}
}
//返回最大子串长度
return maxNum;
}
};