python移动零

发布时间:2024年01月22日

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

请注意?,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231?<= nums[i] <= 231?- 1

进阶:你能尽量减少完成的操作次数吗?

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        i = 0
        count = 0
        while i < len(nums) - count:
            if nums[i] == 0:
                nums.append(nums.pop(i))
                count += 1
            else:
                i += 1
        return nums

作者:天行者
链接:https://leetcode.cn/problems/move-zeroes/solutions/2490114/283-yi-dong-ling-by-modest-7ederbergllw-1gkv/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

文章来源:https://blog.csdn.net/HYSliuliuliu/article/details/135755801
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。