#define MAX(a, b) ((a) > (b) ? (a) : (b))
int longest_substr(char *s) {
int c[128] = {0};
int longest_len = 0;
int i = 0;
int prev = 0;
while (s[i] != 0) {
int k = c[s[i]];
if (k >= prev && k != 0) {
if (i - prev > longest_len) {
longest_len = i - prev;
}
prev = k;
}
c[s[i]] = i + 1;
i += 1;
}
return MAX(longest_len, i - prev);
}
给定一个字符串,请你找出其中不含有重复字符的最长子串的长度
最新推荐文章于 2022-02-24 18:38:35 发布