分享
三行代码  ›  专栏  ›  技术社区  ›  D'Kayd

如何在C++中以字符串的形式获取字符串的字符集

  •  0
  • D'Kayd  · 技术社区  · 2 天前

    我有一个字符串,希望从中删除重复项,但我希望它的顺序相同。 std::set or std::unordered_set 似乎没有帮助。我有DS吗?还是必须手动处理?示例:- “ddbbccaa”应为“dbca”。

    1 回复  |  直到 2 天前
        1
  •  3
  •   MikeCAT    2 天前
    1. 迭代输入字符串
    2. 如果以前没有看到过字符,请向结果字符串中添加字符
    #include <iostream>
    #include <string>
    #include <unordered_set>
    
    std::string removeDuplicates(const std::string& str) {
        std::string result;
        std::unordered_set<char> seen;
        for (char c : str) {
            if (seen.find(c) == seen.end()) {
                result += c;
                seen.insert(c);
            }
        }
        return result;
    }
    
    int main(void) {
        std::cout << removeDuplicates("ddbbccaa") << '\n';
        return 0;
    }