Выдаленне прабелаў з радка з дапамогай stringstream  


Узровень складанасці Лёгка
Часта пытаюцца ў Capgemini Hulu o9 рашэнні TCS
Радок

Пастаноўка праблемы  

У задачы "Выдаленне прабелаў з радка з дапамогай радка" мы прывялі радок "S". Напішыце праграму, якая выкарыстоўвае струменевы паток для выдалення прабелаў з дадзенага радка.

Уваходны фармат  

Першы і адзіны радок, які змяшчае сказ / радок "s".

Фармат вываду  

Першы радок, які змяшчае радок ans, які абазначае канчатковы радок пасля выдалення ўсіх прабелаў у дадзеным радку.

Constraints  

  • 1 <= | s | <= 10 ^ 6
  • s [i] павінен быць ангельскім алфавітам альбо прабелам з маленькімі літарамі "".

Прыклад  

i really like the content of tutorialcup
ireallylikethecontentoftutorialcup

Алгарытм  

Тут мы выкарыстоўваем функцыю "eof ()". C ++ забяспечвае спецыяльную функцыю eof (), якая вяртае ненулявы значэнне (гэта значыць TRUE), калі больш няма дадзеных для чытання з ўваход файлавы паток, а ў адваротным выпадку нуль (гэта значыць FALSE).

1. Захоўвае дадзены радок у струменевым патоку.

2. Цяпер ачысціце дадзены радок.

3. Вылучыце кожнае слова з ланцужка і аб'яднайце іх.

4. Раздрукуйце канчатковы абноўлены радок.

Рэалізацыя  

Праграма C ++ для выдалення прабелаў з радка пры дапамозе радка стрым

#include <bits/stdc++.h> 
using namespace std; 
 
int main() 
{ 
  string s;
  getline(cin, s);
  
  stringstream t; 
  string temp; 
  t<<s; 
  s=""; 
  while(!t.eof()) 
  { 
    t>>temp; 
    s=s+temp; 
  }
  cout<<s<<endl;
  return 0; 
} 

Праграма Java для выдалення прабелаў з радка пры дапамозе радка струн

import java.util.HashMap;
import java.util.Scanner;
class sum
{
    public static void main(String[] args)
    {
        Scanner sr = new Scanner(System.in);
        String s = sr.nextLine();
        s=s.replaceAll(" ","");
        System.out.println(s);
    }
}
a bc def
abcdef

Аналіз складанасці  

Складанасць часу

Аб (п) дзе n гэта памер дадзенага радка "S". Тут мы выкарыстоўваем канцэпцыю "stringstream" і "replaceAll", каб выдаліць усе прабелы.

Глядзіце таксама
Рашэнне Leetcode самага вялікага перыметра трохвугольніка

Касмічная складанасць

O (1) таму што мы нічога тут не захоўваем. Проста абнавіце дадзены радок і раздрукуйце яго.