参考柳神代码
class Solution {
public:
int lengthOfLongestSubstring(string s) {
int i = 0, j = 0, len = s.length();
int maxlen = 0;
int book[256] = {0}; //标记数组 判断重复
while(j < len) { //i,j双指针法 i,j指向字符首尾
if(book[s[j]] == 1) { //借i++ j++循环来遍历substring
maxlen = max(maxlen, j - i);
while(s[i] != s[j]) { //while()实现查找
book[s[i]] = 0;//重复用一个book[] 将上一个判断的substring都初始化
i++;
}
i++;
} else {
book[s[j]] = 1;
}
j++;
}
maxlen = max(maxlen, j - i); //用max(a,b)实现更新
return maxlen;
}
}
03. Longest Substring Without Repeating Characters [Medium]
最新推荐文章于 2022-04-05 15:28:22 发布