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)
Recommended Articles