Skip to content
Related Articles

Related Articles

Remove Duplicate/Repeated words from String
  • Difficulty Level : Easy
  • Last Updated : 09 Nov, 2020

Given a string, we have to remove all duplicate/repeated words from the string.

Examples:

Input: str = “Geeks for Geeks A Computer Science portal for Geeks”
Output: Geeks for A Computer Science portal
Explanation: here ‘Geeks’ and ‘for’ are duplicate so these words are removed from the string
 
Input: “Publish your own articles on GeeksforGeeks and share your knowledge with the world”
Output: Publish your own articles on GeeksforGeeks and share knowledge with the world
Explanation: here ‘your’ is the duplicate word so that word is removed from string

We create an empty hash table. Then split given string around spaces. For every word, we first check if it is in hash table or not. If not found in hash table, we print it and store in the hash table.

To split given string into words, we use stringstream in C++.






// C++ program to remove duplicate
// word from string
#include <bits/stdc++.h>
using namespace std;
  
void removeDupWord(string str)
{
    // Used to split string around spaces.
    istringstream ss(str);
  
    // To store individual visited words
    unordered_set<string> hsh;
  
    // Traverse through all words
    do
    {
        string word;
        ss >> word;
  
        // If current word is not seen before.
        while (hsh.find(word) == hsh.end()) {
            cout << word << " ";
            hsh.insert(word);
        }
  
    } while (ss);
}
  
// Driver function
int main()
{
    string str = "Geeks for Geeks A Computer"
                " Science portal for Geeks";
    removeDupWord(str);
    return 0;
}


Output:

Geeks for A Computer Science portal

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :