How to remove odd frequency characters from a string in C++

1 Answer

0 votes
#include <unordered_map>
#include <iostream>
#include <string>

std::string remove_odd_frequency_characters(std::string s) { 
    std::unordered_map<char, int> char_frequency; 
    
    for (int i = 0; i < s.length(); i++) { 
        char_frequency[s[i]]++; 
    } 
   
    std::string new_string = ""; 
   
    for (int i = 0; i < s.length(); i++) { 
        if (char_frequency[s[i]] % 2 != 0) 
            continue; 
   
        new_string += s[i]; 
    } 
   
    return new_string;
} 
 
int main() {
    std::string s = "c++ programming version 14"; 
 
    std::string new_string = remove_odd_frequency_characters(s);
     
    std::cout << new_string << "\n"; 
}
 
 
/*
run:
 
++ogmmingion
 
*/

 



answered Jan 30, 2019 by avibootz
edited Nov 19, 2024 by avibootz

Related questions

1 answer 116 views
1 answer 120 views
1 answer 129 views
1 answer 117 views
1 answer 107 views
1 answer 114 views
...