题解 | #统计字符串中子串出现的次数#

统计字符串中子串出现的次数

https://www.nowcoder.com/practice/9eb684f845a446f3b121472de2ea75cd

#include <iostream>
#include <cstring>
using namespace std;

int main() {

    char str[100] = { 0 };
    char substr[100] = { 0 };

    cin.getline(str, sizeof(str));
    cin.getline(substr, sizeof(substr));

    int count = 0;

    // write your code here......
    int lenstr=strlen(str);
    int lensub=strlen(substr);
    int i=0,j=0;

    while(i<lensub&&j<lenstr)
    {

            if(str[j]!=substr[i])//
            {
               j=j+1;//如果不能够匹配,str跳到下一个字符
               i=0;//有一个字符匹配不上,子串跳到最开始
            }
            else if(str[j]==substr[i])
            {
                if(i==lensub-1)
                {
                    if(str[j] == substr[0])
                    {
                        i=0;
                        j=j;

                    }
                    else if(str[j] != substr[0]){
                    i=0;
                    j+=1;
                    }
                    count+=1;
                }
                else if(i!=lensub-1){
                    i+=1;
                    j+=1;

                }

            }
        
    }

    cout << count << endl;

    return 0;
}

全部评论

相关推荐

就用这个吧:支持多益再加一个空气使用费
点赞 评论 收藏
分享
01-21 12:26
暨南大学 golang
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务