Related Articles

# Remove leading zeros from an array

• Difficulty Level : Easy
• Last Updated : 03 May, 2021

Given an array of N numbers, the task is to remove all leading zeros from the array.
Examples:

```Input : arr[] = {0, 0, 0, 1, 2, 3}
Output : 1 2 3

Input : arr[] = {0, 0, 0, 1, 0, 2, 3}
Output : 1 0 2 3 ```

Approach: Mark the first non-zero number’s index in the given array. Store the numbers from that index to the end in a different array. Print the array once all numbers have been stored in a different container.
Below is the implementation of the above approach:

## C++

 `// C++ program to print the array``// removing the leading zeros``#include ``using` `namespace` `std;` `// Function to print the array by``// removing leading zeros``void` `removeZeros(``int` `a[], ``int` `n)``{` `    ``// index to store the first``    ``// non-zero number``    ``int` `ind = -1;` `    ``// traverse in the array and find the first``    ``// non-zero number``    ``for` `(``int` `i = 0; i < n; i++) {``        ``if` `(a[i] != 0) {``            ``ind = i;``            ``break``;``        ``}``    ``}` `    ``// if no non-zero number is there``    ``if` `(ind == -1) {``        ``cout << ``"Array has leading zeros only"``;``        ``return``;``    ``}` `    ``// Create an array to store``    ``// numbers apart from leading zeros``    ``int` `b[n - ind];` `    ``// store the numbers removing leading zeros``    ``for` `(``int` `i = 0; i < n - ind; i++)``        ``b[i] = a[ind + i];` `    ``// print the array``    ``for` `(``int` `i = 0; i < n - ind; i++)``        ``cout << b[i] << ``" "``;``}` `// Driver Code``int` `main()``{``    ``int` `a[] = { 0, 0, 0, 1, 2, 0, 3 };``    ``int` `n = ``sizeof``(a) / ``sizeof``(a[0]);``    ``removeZeros(a, n);``    ``return` `0;``}`

## Java

 `// Java program to print the array``// removing the leading zeros``import` `java.util.*;` `class` `solution``{` `// Function to print the array by``// removing leading zeros``static` `void` `removeZeros(``int``[] a, ``int` `n)``{` `    ``// index to store the first``    ``// non-zero number``    ``int` `ind = -``1``;` `    ``// traverse in the array and find the first``    ``// non-zero number``    ``for` `(``int` `i = ``0``; i < n; i++) {``        ``if` `(a[i] != ``0``) {``            ``ind = i;``            ``break``;``        ``}``    ``}` `    ``// if no non-zero number is there``    ``if` `(ind == -``1``) {``        ``System.out.print(``"Array has leading zeros only"``);``        ``return``;``    ``}` `    ``// Create an array to store``    ``// numbers apart from leading zeros``    ``int``[] b = ``new` `int``[n - ind];` `    ``// store the numbers removing leading zeros``    ``for` `(``int` `i = ``0``; i < n - ind; i++)``        ``b[i] = a[ind + i];` `    ``// print the array``    ``for` `(``int` `i = ``0``; i < n - ind; i++)``        ``System.out.print(b[i]+``" "``);``}` `// Driver Code``public` `static` `void` `main(String args[])``{``    ``int``[] a = { ``0``, ``0``, ``0``, ``1``, ``2``, ``0``, ``3` `};``    ``int` `n = a.length;``    ``removeZeros(a, n);``    ` `}``}`

## Python3

 `# Python3 program to print``# the array removing``# the leading zeros` `# Function to print the``# array by removing``# leading zeros``def` `removeZeros(a, n):` `    ``# index to store the``    ``# first non-zero number``    ``ind ``=` `-``1``;` `    ``# traverse in the array``    ``# and find the first``    ``# non-zero number``    ``for` `i ``in` `range``(n):``        ``if` `(a[i] !``=` `0``):``            ``ind ``=` `i;``            ``break``;` `    ``# if no non-zero``    ``# number is there``    ``if` `(ind ``=``=` `-``1``):``        ``print``(``"Array has leading zeros only"``);``        ``return``;` `    ``# Create an array to store``    ``# numbers apart from leading``    ``# zeros b[n - ind];``    ``b``=``[``0``]``*``(n ``-` `ind);` `    ``# store the numbers``    ``# removing leading zeros``    ``for` `i ``in` `range``(n ``-` `ind):``        ``b[i] ``=` `a[ind ``+` `i];` `    ``# print the array``    ``for` `i ``in` `range``(n ``-` `ind):``        ``print``( b[i] , end``=``" "``);` `# Driver Code``a ``=` `[``0``, ``0``, ``0``, ``1``, ``2``, ``0``, ``3``];``n ``=` `len``(a);``removeZeros(a, n);` `# This code is contributed by mits`

## C#

 `// C# program to print the array``// removing the leading zeros``using` `System;` `class` `solution``{` `// Function to print the array by``// removing leading zeros``static` `void` `removeZeros(``int``[] a, ``int` `n)``{` `    ``// index to store the first``    ``// non-zero number``    ``int` `ind = -1;` `    ``// traverse in the array and find the first``    ``// non-zero number``    ``for` `(``int` `i = 0; i < n; i++)``    ``{``        ``if` `(a[i] != 0)``        ``{``            ``ind = i;``            ``break``;``        ``}``    ``}` `    ``// if no non-zero number is there``    ``if` `(ind == -1)``    ``{``        ``Console.Write(``"Array has leading zeros only"``);``        ``return``;``    ``}` `    ``// Create an array to store``    ``// numbers apart from leading zeros``    ``int``[] b = ``new` `int``[n - ind];` `    ``// store the numbers removing leading zeros``    ``for` `(``int` `i = 0; i < n - ind; i++)``        ``b[i] = a[ind + i];` `    ``// print the array``    ``for` `(``int` `i = 0; i < n - ind; i++)``        ``Console.Write(b[i]+``" "``);``}` `// Driver Code``public` `static` `void` `Main(String []args)``{``    ``int``[] a = { 0, 0, 0, 1, 2, 0, 3 };``    ``int` `n = a.Length;``    ``removeZeros(a, n);``}``}` `// This code contributed by Rajput-Ji`

## PHP

 ``

## Javascript

 ``
Output:
`1 2 0 3`

Attention reader! Don’t stop learning now. Participate in the Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students.

My Personal Notes arrow_drop_up