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

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

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

#include <iostream>
#include <string.h>
using namespace std;

int findSub(const char * str, const char * substr);

int main()
{
    char str[100];
    char substr[100];

    cin >> str >> substr ;

    cout << findSub(str, substr) << endl;

    return 0;
}

int findSub(const char * str, const char * substr)
{
    int cnt = 0;
    int strLen = strlen(str);
    int subStrLen = strlen(substr);

    // 0 1 2 3 4 5 6 7 8 // strLen = 9 - 3 = 6
    //    
    int flag = 1;     
    for (int i = 0; i <= strLen-subStrLen ; ++i)
    {
        // 0 , 1 , 2
        for (int j = i, k = 0; k < subStrLen; ++k)
        {
            if (str[j + k] != substr[k])
            {
                flag = 0;
            }
        }

        if (flag)
        {
            ++cnt;
        } 
        
        flag = 1;   
    }

  

    return cnt;
}


这里是主要是进行循环, 然后比较一下每个字符的大小; 主要记得一整个循环比较结束最后的时候flag要重新置为1, 然后下次循环的时候可以重新比较即可. 这样flag就可以生效.
全部评论

相关推荐

05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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