📌  相关文章
📜  Python3程序将所有零移动到数组末尾(1)

📅  最后修改于: 2023-12-03 15:34:14.559000             🧑  作者: Mango

Python3程序:将所有零移动到数组末尾

这个Python3程序的功能是将数组中的所有零移动到数组末尾,保持非零数值原来的顺序。

程序实现

程序采用快速排序(Quick Sort)的思想,通过比较数组元素大小的方式将所有零移动到数组末尾。具体实现方法如下:

def moveZeros(nums):
    """
    :type nums: List[int]
    :rtype: void Do not return anything, modify nums in-place instead.
    """
    # 定义两个指针i和j,分别指向数组第一个元素和第二个元素
    i = 0
    j = 1
    # 遍历整个数组
    while j < len(nums):
        if nums[i] != 0:
            i += 1
            j += 1
        elif nums[j] != 0:
            nums[i], nums[j] = nums[j], nums[i]
            i += 1
            j += 1
        else:
            j += 1

其中,nums 为输入数组,ij 分别为两个指针。程序通过比较数组元素大小的方式将所有零移动到数组末尾。

示例使用
print(moveZeros([0, 1, 0, 3, 12]))  # [1, 3, 12, 0, 0]
总结

本程序采用快速排序的思想,通过比较数组元素大小的方式将所有零移动到数组末尾,保持非零元素原来的顺序。如果在实际使用中遇到了类似问题,可以参考本程序。