题解 | #统计字符串中子串出现的次数#
统计字符串中子串出现的次数
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; }