【力扣100】4.移动零

题目链接
我的题解:

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # 思路是先计算共有几个0,然后remove几次,再末位加几个0
        count=0
        for i in nums:
            if i ==0:
                count=count+1
        for j in range(0,count):
            nums.remove(0)
            nums.append(0)

我觉得这个方法太蠢了
想一下双指针的方法

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        # fast指针遇见0向后挪
        # slow指针遇见0跟fast交换
        fast=0
        slow=0
        for fast in range(len(nums)):
            if nums[fast]==0:
                fast+=1
            else:
                nums[slow]=nums[fast]
                fast+=1
                slow+=1
        for i in range(slow,len(nums)):
            nums[i]=0

双指针,最后补0

class Solution:
    def moveZeroes(self, nums: List[int]) -> None:
        """
        Do not return anything, modify nums in-place instead.
        """
        left = 0
        for i in range(len(nums)):
          if nums[i] != 0:
            nums[left], nums[i] = nums[i], nums[left]
            left += 1

双指针,快指针指到非0,就交换,因为慢指针都会指到0

相关推荐

  1. 100】4.移动

    2023-12-08 15:30:05       61 阅读
  2. 热题100_双指针_283_移动

    2023-12-08 15:30:05       60 阅读
  3. 283.移动

    2023-12-08 15:30:05       55 阅读
  4. -283. 移动

    2023-12-08 15:30:05       47 阅读
  5. 283. 移动

    2023-12-08 15:30:05       31 阅读
  6. 283.移动

    2023-12-08 15:30:05       19 阅读
  7. 283.移动LeetCode)

    2023-12-08 15:30:05       53 阅读
  8. 100】73.矩阵置

    2023-12-08 15:30:05       68 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-08 15:30:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-08 15:30:05       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-08 15:30:05       82 阅读
  4. Python语言-面向对象

    2023-12-08 15:30:05       91 阅读

热门阅读

  1. ChatGPT的进化史

    2023-12-08 15:30:05       63 阅读
  2. openmmlab加载自训练权重

    2023-12-08 15:30:05       60 阅读
  3. 利用 Python 进行数据分析实验(六)

    2023-12-08 15:30:05       51 阅读
  4. vs2022专业版永久密钥

    2023-12-08 15:30:05       60 阅读
  5. C++提高编程—01.函数模板

    2023-12-08 15:30:05       50 阅读
  6. 一篇文章了解JDK的前世今生

    2023-12-08 15:30:05       55 阅读
  7. 面试题目总结(三)

    2023-12-08 15:30:05       54 阅读
  8. 微信小程序跳转到外部小程序

    2023-12-08 15:30:05       60 阅读
  9. 12.7每日一题(备战蓝桥杯双分支、多分支)

    2023-12-08 15:30:05       40 阅读