首页 > 科技 >

🌟C++编程挑战:递归删除字符串中的子串🌟

发布时间:2025-03-18 05:43:25来源:

今天来玩一个有趣的编程任务!想象一下,你有一个字符串 `"HelloWorldHelloWorld"`,现在需要编写一个C++函数,利用递归逻辑删除其中的所有子串 `"World"`,并统计删除了多少次。听起来是不是很酷?😎

首先,定义你的递归函数。每次检查字符串开头是否包含 `"World"`,如果包含,就删除它,并继续检查剩下的部分。如果不包含,则停止递归。这个过程就像剥洋葱一样,一层层去掉不需要的部分。 onion:

```cpp

int removeSubstr(std::string& str, const std::string& substr) {

if (str.find(substr) == std::string::npos) {

return 0; // 找不到子串,停止递归

}

str.erase(str.find(substr), substr.length()); // 删除找到的子串

return 1 + removeSubstr(str, substr); // 计数+1,继续查找

}

```

最后,调用这个函数并输出结果!比如 `"HelloWorldHelloWorld"` 会变成 `"HelloHello"`,删除了两次 `"World"`。🎉

快来试试吧,看看你能用递归解决多少类似的问题!💪

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。