3. 无重复字符的最长子串
给定一个字符串,找出不含有重复字符的最长子串的长度。
示例:
给定 "abcabcbb"
,没有重复字符的最长子串是 "abc"
,那么长度就是3。
给定 "bbbbb"
,最长的子串就是 "b"
,长度是1。
给定 "pwwkew"
,最长子串是 "wke"
,长度是3。请注意答案必须是一个子串,"pwke"
是 子序列 而不是子串。
您是否在真实的面试环节中遇到过这道题目呢?
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int head,tail,i,slength,len,max=0;
slength = s.length();
if(1==slength){return 1;}
for(i=0;i<slength;i++)
{
//printf("%c",s[i]);
}
//printf("\njinkai@mails.ccnu.edu.cn\n");
head = 0;
tail = head+1;
while(tail<slength)
{
for(i=head;i<tail;i++)
{
if(s[i]==s[tail])
{
head = i+1;
if(i>=tail-1)
{
tail++;
break;
}
break;
}
if(i>=tail-1)
{
tail++;
break;
}
}
len = tail-head;
if(len>max){max=len;}
}
return max;
}
};
提交记录
983 / 983 个通过测试用例 | 状态: 通过 |
执行用时:28 ms |
我的提交执行用时
已经战胜 76.88 % 的 cpp 提交记录