gpt4 book ai didi

c++ - 删除重复字符

转载 作者:行者123 更新时间:2023-11-30 00:37:51 24 4
gpt4 key购买 nike

对于我在 C++ 中尝试的一些东西,我接受了一个字符串(比如“a tomato is red”)并去掉了空格(“atomatoisred”)。

现在,如果该字符的第一个实例保留下来(因此我们的示例变为,'atomisred'),我将如何只删除重复出现的字符?

提前致谢!

最佳答案

您可以使用 erase-remove idiom结合一组跟踪重复字符:

std::set<char> dupes;

str.erase(
std::remove_if(
str.begin(), str.end(),
[&](char c) { return not dupes.insert(c).second; }),
str.end());

这也利用了 std::set::insert 的返回值是一对,其第二个元素是 bool 指示插入是否发生的事实。

关于c++ - 删除重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com