Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,887 questions

51,814 answers

573 users

How to remove duplicates from a string in C++

2 Answers

0 votes
#include <iostream>

char* removeDuplicates(char str[]) {
    int index = 0;
 
    for (int i = 0; i < str[i] != '\0'; i++) {
        int j;
        for (j = 0; j < i; j++) {
            if (str[i] == str[j]) { // character already exist
                break;
            }
        }
 
        if (j == i) {
            str[index++] = str[i];
        }
    }
 
    str[index] = '\0';
 
    return str;
}
 
int main() {
    char str[] = "abcdaaaabbbccccddddefghhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
 
    removeDuplicates(str);
 
    std::cout << str;
}
 
 
 
 
/*
run:
 
abcdefghx
 
*/

 



answered Feb 9, 2024 by avibootz
edited Feb 9, 2024 by avibootz
0 votes
#include <iostream>
#include <unordered_map>

std::string removeDuplicates(std::string str) {
    std::unordered_map<char, int> exists;
    int size = str.size();
    
    std::string result = "";
    
    for (int i = 0; i < size; i++) {
        if (exists.find(str[i]) == exists.end()) {
            result.push_back(str[i]);
            exists[str[i]]++;
        }
    }
    
    return result;
}

int main() {
    std::string str = "abcdaaaabbbccccddddefghhhhhhxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    
    
    std::cout << removeDuplicates(str);
}
 

 
 
/*
run:
 
abcdefghx
 
*/

 



answered Feb 9, 2024 by avibootz
...