• 欢迎光临~

283. 移动零

开发技术 开发技术 2022-12-21 次浏览

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

请注意 ,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

点击查看代码
class Solution:
    def moveZeroes(self,nums):
        n = len(nums)
        left, right = 0, 0
        while right < n:
            if nums[right] != 0:
                nums[left], nums[right] = nums[right], nums[left]
                left += 1
            right += 1

点击查看pycharm代码
class Solution:
    def moveZeroes(self,nums):
        n = len(nums)
        left, right = 0, 0
        while right < n:
            if nums[right] != 0:
                nums[left], nums[right] = nums[right], nums[left]
                left += 1
            right += 1

if __name__ == "__main__":
    solution = Solution()
    list2 = [0,1,0,0,3,7,0,6,8]
    solution.moveZeroes(list2)
    print(list2)

思路: 用俩个指针,右边的指针指的是0的时候,跟左边指针指的交换位置,

283. 移动零

程序员灯塔
转载请注明原文链接:283. 移动零
喜欢 (0)