求最长子串长度

题目

在一个以空格分割的字符串,如“asd asdasd sd asdasdas sdasdasdsdd”中,求最长字串长度,时间和空间复杂度尽可能最优

代码

”’ C++

include

using namespace std;

int main()
{
int start=0,end=0,flag=0,temp=0;
char str[]=”asd asdasd sd asdasdas sdasdasdsdd”;
int len=(sizeof(str)/sizeof(str[0]));
cout<<“字符串长度”<<len<<endl;
while(end<len)
{
if(str[end]==’ ‘||str[end]==’\0’)
{
temp=end-start;
if(flag<temp)
{
flag=temp;
start+=(flag+1);
end=start;
}
else
{
start+=(temp+1);
end=start;
}
}
else
{
end++;
}
}
cout<<“最长子串长度”<<flag;
return 0;
}
”’