给定一个字符串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.无重复字符的最长字串
最新推荐文章于 2023-07-05 13:42:39 发布