我是靠谱客的博主 开朗戒指,最近开发中收集的这篇文章主要介绍Longest Substring Without Repeating Characters C语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Given a string, find the length of the longest substring without repeating characters.

Examples:

Given "abcabcbb", the answer is "abc", which the length is 3.

Given "bbbbb", the answer is "b", with the length of 1.

Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring"pwke" is a subsequence and not a substring.



思想:
滑动指针,每次添加一个字符,当这个字符和前面的字符有重复时滑动指针消去重复的字符及其之前的字符,重新计算长度与最大长度比较,记录下最大长度

代码:
int lengthOfLongestSubstring(char* s) {//pwwkew
    char *now=s;//指向当前字符串首字符
    char *out;//指向字符串任一字符
    int flag=0;//判断是否有重复的字符
    int longsize=1;//字符串长度
    int maxsize=0;//字符串最大长度
    if(*now=='')
        return 0;
    else {
        while(*now!=''){
            maxsize=(maxsize>longsize)?maxsize:longsize;
            s++;
            if(*s=='')
                break;
            for(out=now;out<s;out++)
            {
                if(*s==*out){
                if(out!=now)
          longsize=longsize-(out-now);
                    now=++out;
                    flag=1;
                    break;
                }
            }
            if(flag==0)
                longsize++;
            flag=0;
        }
        maxsize=(maxsize>longsize)?maxsize:longsize;
        return maxsize;
    }
}

最后

以上就是开朗戒指为你收集整理的Longest Substring Without Repeating Characters C语言的全部内容,希望文章能够帮你解决Longest Substring Without Repeating Characters C语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部