Removing spaces from a string using Stringstream
Solution to removing spaces from a string is already posted here. In this article another solution using stringstream is discussed.
Algorithm:
1. Enter the whole string into stringstream. 2. Empty the string. 3. Extract word by word and concatenate to the string.
Program 1: Using EOF.
CPP
// C++ program to remove spaces using stringstream #include <bits/stdc++.h> using namespace std; // Function to remove spaces string removeSpaces(string str) { stringstream ss; string temp; // Storing the whole string // into string stream ss << str; // Making the string empty str = "" ; // Running loop till end of stream while (!ss.eof()) { // Extracting word by word from stream ss >> temp; // Concatenating in the string to be // returned str = str + temp; } return str; } // Driver function int main() { // Sample Inputs string s = "This is a test" ; cout << removeSpaces(s) << endl; s = "geeks for geeks" ; cout << removeSpaces(s) << endl; s = "geeks quiz is awesome!" ; cout << removeSpaces(s) << endl; s = "I love to code" ; cout << removeSpaces(s) << endl; return 0; } |
Output
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
Time complexity: O(n) where n is length of string
Auxiliary space: O(n)
Program 2: Using getline().
CPP
// C++ program to remove spaces using stringstream // and getline() #include <bits/stdc++.h> using namespace std; // Function to remove spaces string removeSpaces(string str) { // Storing the whole string // into string stream stringstream ss(str); string temp; // Making the string empty str = "" ; // Running loop till end of stream // and getting every word while (getline(ss, temp, ' ' )) { // Concatenating in the string // to be returned str = str + temp; } return str; } // Driver function int main() { // Sample Inputs string s = "This is a test" ; cout << removeSpaces(s) << endl; s = "geeks for geeks" ; cout << removeSpaces(s) << endl; s = "geeks quiz is awesome!" ; cout << removeSpaces(s) << endl; s = "I love to code" ; cout << removeSpaces(s) << endl; return 0; } // Code contributed by saychakr13 |
Output
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
Time complexity: O(n)
Auxiliary Space: O(n)
This article is contributed by Nishant. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Login to comment...