LeetCode 数组 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:
必须在原数组上操作,不能拷贝额外的数组。
尽量减少操作次数。

解答:
此处我们需要了解python的三种删除方式,del list[index] 删除对应index的元素,index自动重排序;list.remove(obj) 删除对应值为obj的元素,不改index;list.pop(index)删除制定index的元素。

class Solution:
    def moveZeroes(self, nums):
        """
        :type nums: List[int]
        :rtype: void Do not return anything, modify nums in-place instead.
        """
        org = len(nums)
        index=0
        for i in range(org):
        '''i 只是用于记录操作次数,和index毫无关系。
        remove是删除list中第一次出现的某个元素,
        del 是删除对应index的元素'''
        
            if nums[index]==0:
                nums.append(0)
                del nums[index]
            else:
                index+=1
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容