给定一个字符串s,请你找出其中不含重复字符的最长字串长度
事例一:
输入:s="abcabcbb"
输出:3
解释:因为无重复字符的最长子串是"abc",所以其长度为3
事例二:
输入:s="bbbbb"
输出:1
解释:因为无重复字符最长字串是"b",所以其长度为1
事例三:
输入:"pwwkew"
输出:3
解释:因为无重复字符的最长字串是"wke",所以其长度为3
注意:你的答案必须是字串长度而"pwke",是子序列而不是子串。
int lengthOfLongestSubstring(char * s){
int len=strlen(s);
if (len==0)
{
return 0;
}
else if (len==1)
{
return 1;
}
int i;
int max=0;
int left=0;
int right=0;
while (right<len)
{
max=(right-left+1)>max?(right-left+1):max;
for (i=left;i<=right;i++)
{
if (s[i]==s[right+1])
{
left=i+1;
}
}
right++;
}
return max;
}
3.无重复字符的最长字串
最新推荐文章于 2024-06-10 11:27:18 发布
该博客介绍了如何找到给定字符串中不包含重复字符的最长子串长度。通过给出的示例代码,可以看到算法采用滑动窗口的方法,遍历字符串并维护一个无重复字符的子串,当遇到重复字符时更新左边界。最终返回最大子串长度。

154

被折叠的 条评论
为什么被折叠?



