Ask Your Question
4

How to relocate the zeros to the end of the list?

asked 2022-07-19 11:00:00 +0000

lalupa gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2021-09-15 00:00:00 +0000

qstack gravatar image

One possible way to relocate the zeros to the end of a list is as follows:

  1. Create an empty list to hold the non-zero elements of the original list.
  2. Traverse the original list element by element.
  3. If the current element is non-zero, append it to the empty list created in step 1.
  4. After completing the traversal, append the necessary number of zeros to the end of the non-zero list to match the length of the original list.
  5. Return the modified list.

Here is the Python code that implements the above algorithm:

def move_zeros_to_end(lst):
    non_zeros = []
    zeros_count = 0
    for el in lst:
        if el != 0:
            non_zeros.append(el)
        else:
            zeros_count += 1
    result = non_zeros + [0] * zeros_count
    return result

Example usage:

>>> move_zeros_to_end([1, 0, 3, 0, 0, 2, 8, 0])
[1, 3, 2, 8, 0, 0, 0, 0]

>>> move_zeros_to_end([0, 0, 0, 0, 0, 0])
[0, 0, 0, 0, 0, 0]

>>> move_zeros_to_end([1, 2, 3])
[1, 2, 3]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2022-07-19 11:00:00 +0000

Seen: 6 times

Last updated: Sep 15 '21