题解:
class Solution {
public:
string removeOccurrences(string s, string part) {
// size_t position = s.find(part);
// while (position != std::string::npos) {
// s.replace(position, part.size(), "");
// removeOccurrences(s, part);
// position = s.find(part);
// }
// return s;
while (true) {
size_t left = s.find(part), right = left + part.length();
if (left == -1) return s;
s = s.substr(0, left) + s.substr(right);
}
}
};
其中注释部分采用递归算法,虽然能实现简单的子串处理,但是子串过长时会造成超时。