GFG App
Open App
Browser
Continue

# Remove spaces from a given string

Given a string, remove all spaces from the string and return it.

```Input:  "g  eeks   for ge  eeks  "
Output: "geeksforgeeks"```

Expected time complexity is O(n) and only one traversal of string.

## We strongly recommend that you click here and practice it, before moving on to the solution.

Below is a Simple Solution

```1) Iterate through all characters of given string, do following
a) If current character is a space, then move all subsequent
characters one position back and decrease length of the
result string.```

Time complexity of above solution is O(n2).

A Better Solution can solve it in O(n) time. The idea is to keep track of count of non-space character seen so far.

```1) Initialize 'count' = 0 (Count of non-space character seen so far)
2) Iterate through all characters of given string, do following
a) If current character is non-space, then put this character
at index 'count' and increment 'count'
3) Finally, put '\0' at index 'count'```

Below is the implementation of above algorithm.

## C++

 `// An efficient C++ program to remove all spaces` `// from a string` `#include ` `using` `namespace` `std;`   `// Function to remove all spaces from a given string` `void` `removeSpaces(``char` `*str)` `{` `    ``// To keep track of non-space character count` `    ``int` `count = 0;`   `    ``// Traverse the given string. If current character` `    ``// is not space, then place it at index 'count++'` `    ``for` `(``int` `i = 0; str[i]; i++)` `        ``if` `(str[i] != ``' '``)` `            ``str[count++] = str[i]; ``// here count is` `                                   ``// incremented` `    ``str[count] = ``'\0'``;` `}`   `// Driver program to test above function` `int` `main()` `{` `    ``char` `str[] = ``"g  eeks   for ge  eeks  "``;` `    ``removeSpaces(str);` `    ``cout << str;` `    ``return` `0;` `}`

## Java

 `    `  `// An efficient Java program to remove all spaces` `// from a string` `class` `GFG` `{`   `// Function to remove all spaces ` `// from a given string` `static` `int` `removeSpaces(``char` `[]str)` `{` `    ``// To keep track of non-space character count` `    ``int` `count = ``0``;`   `    ``// Traverse the given string.` `    ``// If current character` `    ``// is not space, then place ` `    ``// it at index 'count++'` `    ``for` `(``int` `i = ``0``; i

## Python

 `# Python program to Remove spaces from a given string`   `# Function to remove all spaces from a given string` `def` `removeSpaces(string):`   `    ``# To keep track of non-space character count` `    ``count ``=` `0`   `    ``list` `=` `[]`   `    ``# Traverse the given string. If current character` `    ``# is not space, then place it at index 'count++'` `    ``for` `i ``in` `xrange``(``len``(string)):` `        ``if` `string[i] !``=` `' '``:` `            ``list``.append(string[i])`   `    ``return` `toString(``list``)`   `# Utility Function` `def` `toString(``List``):` `    ``return` `''.join(``List``)`   `# Driver program` `string ``=` `"g  eeks  for ge  eeks  "` `print` `removeSpaces(string)`   `# This code is contributed by Bhavya Jain`

## C#

 `// An efficient C# program to remove all ` `// spaces from a string ` `using` `System;`   `class` `GFG ` `{ `   `// Function to remove all spaces ` `// from a given string ` `static` `int` `removeSpaces(``char` `[]str) ` `{ ` `    ``// To keep track of non-space ` `    ``// character count ` `    ``int` `count = 0; `   `    ``// Traverse the given string. If current` `    ``// character is not space, then place ` `    ``// it at index 'count++' ` `    ``for` `(``int` `i = 0; i < str.Length; i++) ` `        ``if` `(str[i] != ``' '``) ` `            ``str[count++] = str[i]; ``// here count is ` `                                   ``// incremented `   `    ``return` `count; ` `} `   `// Driver code ` `public` `static` `void` `Main(String[] args) ` `{ ` `    ``char` `[]str = ``"g eeks for ge eeks "``.ToCharArray(); ` `    ``int` `i = removeSpaces(str); ` `    ``Console.WriteLine(String.Join(``""``, str).Substring(0, i)); ` `} ` `} `   `// This code is contributed by 29AjayKumar`

## Javascript

 ``

Output

`geeksforgeeeks`

Time complexity of above solution is O(n) and it does only one traversal of string.

Auxiliary Space: O(1)
Another solution suggested by Divyam Madaan is to use predefined functions. Here is the implementation:

## C++

 `// CPP program to Remove spaces ` `// from a given string `   `#include ` `#include ` `using` `namespace` `std; `   `// Function to remove all spaces from a given string ` `string removeSpaces(string str) ` `{ ` `    ``str.erase(``remove``(str.begin(), str.end(), ``' '``), str.end()); ` `    ``return` `str; ` `} `   `// Driver program to test above function ` `int` `main() ` `{ ` `    ``string str = ``"g eeks for ge eeks "``; ` `    ``str = removeSpaces(str); ` `    ``cout << str; ` `    ``return` `0; ` `} `   `// This code is contributed by Divyam Madaan `

## Java

 `// Java program to remove ` `// all spaces from a string`   `class` `GFG {` `    `  `    ``// Function to remove all ` `    ``// spaces from a given string` `    ``static` `String removeSpace(String str)` `    ``{` `        ``str = str.replaceAll(``"\\s"``,``""``);` `        ``return` `str;` `    ``}`   `    ``// Driver Code` `    ``public` `static` `void` `main(String args[])` `    ``{` `        ``String str = ``"g eeks for ge eeks "``;` `        ``System.out.println(removeSpace(str));` `    ``}` `}`   `// This code is contributed by Kanhaiya.`

## Python

 `# Python program to Remove spaces from a given string` ` `  `# Function to remove all spaces from a given string` `def` `removeSpaces(string):` `    ``string ``=` `string.replace(``' '``,'')` `    ``return` `string` `    `  `# Driver program` `string ``=` `"g  eeks  for ge  eeks  "` `print``(removeSpaces(string))`   `# This code is contributed by Divyam Madaan`

## C#

 `// C# program to remove ` `// all spaces from a string ` `using` `System;`   `class` `GFG ` `{ ` `    `  `    ``// Function to remove all ` `    ``// spaces from a given string ` `    ``static` `String removeSpace(String str) ` `    ``{ ` `        ``str = str.Replace(``" "``,``""``); ` `        ``return` `str; ` `    ``} `   `    ``// Driver Code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``String str = ``"g eeks for ge eeks "``; ` `        ``Console.WriteLine(removeSpace(str)); ` `    ``} ` `} `   `// This code is contributed by ` `// PrinciRaj1992 `

## Javascript

 ``

Output

`geeksforgeeeks`

Another method to solve this problem using predefined STL functions like count() ,remove() ,getline() and resize() is also present. Here is the implementation for the same :

## C++

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``string s = ``"g e e k s f o r g e e k s"``;`   `    ``cout << ``"string with spaces is "` `<< s << endl;`   `    ``int` `l = s.length(); ``// storing the length of the string`   `    ``int` `c` `        ``= count(s.begin(), s.end(),` `                ``' '``); ``// counting the number of whitespaces`   `    ``remove``(s.begin(), s.end(),` `           ``' '``); ``// removing all the whitespaces`   `    ``s.resize(l - c); ``// resizing the string to l-c`   `    ``cout << ``"string without spaces is "` `<< s << endl;`   `    ``return` `0;` `}`

## Java

 `import` `java.util.*;` `import` `java.io.*;`   `public` `class` `Main {` `public` `static` `void` `main(String[] args) {` `String s = ``"g e e k s f o r g e e k s"``;` `System.out.println(``"string with spaces is "` `+ s);` `      ``int` `l = s.length(); ``// storing the length of the string`   `    ``int` `c = (``int``) s.chars().filter(ch -> ch == ``' '``).count(); ``// counting the number of whitespaces`   `    ``s = s.replace(``" "``, ``""``); ``// removing all the whitespaces`   `    ``s = s.substring(``0``, l - c); ``// resizing the string to l-c`   `    ``System.out.println(``"string without spaces is "` `+ s);` `}` `}`

## C#

 `// C# program for the above approach`   `using` `System;`   `public` `class` `GFG {` `    ``public` `static` `void` `Main(``string``[] args) {` `        ``string` `s = ``"g e e k s f o r g e e k s"``;` `        ``Console.WriteLine(``"string with spaces is "` `+ s);` `        ``int` `l = s.Length; ``// storing the length of the string` `    `  `        ``int` `c = s.Split(``' '``).Length - 1; ``// counting the number of whitespaces` `    `  `        ``s = s.Replace(``" "``, ``""``); ``// removing all the whitespaces` `    `  `        ``s = s.Substring(0, l - c); ``// resizing the string to l-c` `    `  `        ``Console.WriteLine(``"string without spaces is "` `+ s);` `    ``}` `}`   `// This code is contributed by princekumaras`

## Python3

 `s ``=` `"g e e k s f o r g e e k s"`   `print``(``"string with spaces is"``, s)`   `l ``=` `len``(s)  ``# storing the length of the string`   `c ``=` `s.count(``' '``)  ``# counting the number of whitespaces`   `s ``=` `s.replace(``' '``, '')  ``# removing all the whitespaces`   `s ``=` `s[:l ``-` `c]  ``# resizing the string to l-c`   `print``(``"string without spaces is"``, s)`

## Javascript

 `// JavaScript program for the above approach`   `let s = ``"g e e k s f o r g e e k s"``;` `console.log(``"string with spaces is "` `+ s);`   `let l = s.length; ``// storing the length of the string`   `let c = s.split(``' '``).length - 1; ``// counting the number of whitespaces`   `s = s.replace(/\s/g, ``""``); ``// removing all the whitespaces`   `s = s.substring(0, l - c); ``// resizing the string to l-c`   `console.log(``"string without spaces is "` `+ s);`

Output

```string with spaces is g e e k s f o r g e e k s
string without spaces is geeksforgeeks```

Time Complexity : O(N), N is length of given string.

Auxiliary Space : O(1),  since no extra space is used.

Thanks to Souravi Sarkar for suggesting this problem and initial solution.
Java | Removing whitespaces using Regex

My Personal Notes arrow_drop_up