class Solution {
public:
//l字符串匹配,KMP算法
int lengthOfLongestSubstring(string s) {
int len=s.length();
if(len==0){
return 0;
}
int i=0;
int j=1;
int cur_max=0;
while(j<len&&i<len){
int fla=1;
int tmp;
for(int k=i;k<j;k++){
if(s[k]==s[j]){
fla=0;
tmp=k;
break;
}
}
if(fla==0){
i=tmp+1;
j++;
}else{
j++;
if(j-i>cur_max){
cur_max=j-i;
}
}
}
if(cur_max==0){
cur_max=1;
}{
}
return cur_max;
}
};
博客给出了一段C++代码,实现了字符串匹配的KMP算法。代码定义了一个Solution类,其中的lengthOfLongestSubstring函数用于计算字符串中最长无重复子串的长度,通过双指针和循环判断字符是否重复来更新最大长度。

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



