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

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

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 i = 0, j = 0;//i记录主字符串下表 j记录子字符串
    int sublen = strlen(substr);
    while (str[i] != '\0') {
        for (j = 0; j < sublen; j++) {
            if (str[i+j] != substr[j]) {
                break;
            }
        }
		//这个部分不会判断重复的字符串 比如aaa中算作出现两次aa
		//所以改用上面的for循环
		// if (str[i] == substr[j]) {
        //     j++;
        // } else {
        //     j = 0;
        // }
        if (j == sublen) {
            j = 0;
            count++;
        }      
        i++;
    }

    cout << count << endl;

    return 0;
}

全部评论

相关推荐

秋盈丶:后续:我在宿舍群里和大学同学分享了这事儿,我好兄弟气不过把他挂到某脉上了,10w+阅读量几百条评论,直接干成精品贴子,爽
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务