Рішення для видалення пробілів із рядка вже опубліковано тут . У цій статті використовується інше рішення рядковий потік обговорюється.
Алгоритм:
1. Enter the whole string into stringstream. 2. Empty the string. 3. Extract word by word and concatenate to the string.
Програма 1: Використання EOF .
CPP
// C++ program to remove spaces using stringstream #include 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; }
Вихід
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
Часова складність: O(n), де n - довжина рядка
Допоміжні приміщення: O(n)
Програма 2: Використання getline() .
CPP// C++ program to remove spaces using stringstream // and getline() #include 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
Вихід
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode
Часова складність: O(n)
Допоміжний простір: O(n)