logo

Välilyöntien poistaminen merkkijonosta Stringstreamin avulla

Ratkaisu välilyöntien poistamiseen merkkijonosta on jo lähetetty tässä . Tässä artikkelissa toinen ratkaisu käyttää stringstream keskustellaan.

abstrakti luokka java

Algoritmi:  



1. Enter the whole string into stringstream. 2. Empty the string. 3. Extract word by word and concatenate to the string.

Ohjelma 1: Käyttämällä 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; } 

Lähtö
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode

Aika monimutkaisuus: O(n) missä n on merkkijonon pituus
Aputila: O(n)

Ohjelma 2: Käyttämällä 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 

Lähtö
Thisisatest geeksforgeeks geeksquizisawesome! Ilovetocode

Aika monimutkaisuus: O(n) 
Aputila: O(n)

lineaarinen haku javassa