LeetCode:无重复字符的最长子串(C语言版)

Posted 想考北航的小刺猬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:无重复字符的最长子串(C语言版)相关的知识,希望对你有一定的参考价值。

无重复字符的最长子串

在这里插入图片描述
效率不高,但比较容易想到,看过一些滑动窗口的思想,自己的就想了一下,用两个指针设置窗口,用另一个指针cur在窗口中遍历,寻找重复,未找到就直接将新的字符加入,否则就更改窗口大小,将起始指针重新设定在窗口内部重复位置的前一个位置,重复这一过程,直到字符串末尾。
比较好的我看到是用C++写的:滑动窗口加哈希表。有一些用C写的代码很简短,大概十四行,技术有限,看不太懂,所以我就没仔细看那个。最后希望对大家有所帮助。

int lengthOfLongestSubstring(char * s) {
    char *start = s, *end = s, *cur = NULL;
    int len = 0;
    while (*end != '\\0') {
        cur = start;
        while (cur != end) {
            if (*cur == *end) {
                start = cur + 1;
                break;
            }
            else cur++;
        }
        if (len < strlen(start) - strlen(end) + 1)
            len = strlen(start) - strlen(end) + 1;
        end++;
    }
    return len;
}```

以上是关于LeetCode:无重复字符的最长子串(C语言版)的主要内容,如果未能解决你的问题,请参考以下文章

Python版[leetcode]3. 无重复字符的最长子串(难度中等)

#leetcode刷题之路3-无重复字符的最长子串

leetcode-003无重复字符的最长子串--python

leetcode-003无重复字符的最长子串--python

leetcode-003无重复字符的最长子串--python

C++&Python 描述 LeetCode 3. 无重复字符的最长子串