在Python中移动零

假设我们有一个数组来容纳一些数字。有非零值和零值。因此,我们必须在不更改其他数字相对顺序的情况下将所有零发送到右侧。因此,如果数组类似于[0、1、5、0、3、8、0、0、9],则最终数组将为[1、5、3、8、9、0、0、0、0 ]

为了解决这个问题,我们将遵循以下步骤-

  • 假设索引= 0

  • 对于i = 0到A的长度

    • A [index]:= A [i]

    • 索引:=索引+ 1

    • 如果A [i]!= 0,则

    • 因为我= A的长度的索引

      • A [i] = 0

    示例

    让我们看下面的实现以更好地理解-

    class Solution(object):
       def moveZeroes(self, nums):
          """
          :type nums: List[int]
          :rtype: None Do not return anything, modify nums in-place instead.
          """
          insert_index = 0
          for i in range(len(nums)):
             if nums[i] != 0:
                nums[insert_index]=nums[i]
                insert_index+=1
          for i in range(insert_index,len(nums)):
             nums[i]=0
    nums = [0,1,5,0,3,8,0,0,9]
    ob1 = Solution()ob1.moveZeroes(nums)
    print(nums)

    输入项

    nums = [0,1,5,0,3,8,0,0,9]

    输出结果

    [1,5,3,8,9,0,0,0,0]