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

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

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;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-29 17:30
点赞 评论 收藏
分享
迟缓的斜杠青年巴比Q...:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
晗江雪:其实我只是觉得你们导员说的很好笑
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务