LeetCode-移动零(283)

题目描述:

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
在这里插入图片描述
思路: 这里的思路跟以前做过的去重复数字的思路有点像,快指针也就是for循环中的i遍历元素,慢指针也就是count指向存储元素得到位置,当然只有当遍历的数字不是0的时候才会存储该数字至count指向的位置,并且count+1。完成存储的for循环之后,就要把忽略掉的0给添加都末尾,这一步操作就简单了,具体看代码。
代码:

class Solution {
   
    public void moveZeroes(int[] nums) {
   
        int count=0;
        for(int i=0;i<nums.length;i++) {
   
            if(nums[i]!=0) {
   
                nums[count]=nums[i];
                count++;
            }
            
        }
        
        for(int i=count;i<nums.length;i++) {
   
            nums[i]=0;
        }
        
        
    }
}

相关推荐

  1. leetcode283移动

    2024-01-08 17:00:06       33 阅读
  2. [leetcode] 283. 移动

    2024-01-08 17:00:06       21 阅读
  3. Leetcode 283. 移动

    2024-01-08 17:00:06       16 阅读
  4. 移动算法(leetcode283题)

    2024-01-08 17:00:06       38 阅读
  5. LeetCode 热题 100——283. 移动

    2024-01-08 17:00:06       42 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-08 17:00:06       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-08 17:00:06       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-08 17:00:06       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-08 17:00:06       20 阅读

热门阅读

  1. unity图像处理简单流程

    2024-01-08 17:00:06       43 阅读
  2. 算法复杂度分析

    2024-01-08 17:00:06       33 阅读
  3. 【QT】中常见的信号槽使用错误汇总

    2024-01-08 17:00:06       32 阅读
  4. 【QT】发生的运行时错误汇总

    2024-01-08 17:00:06       47 阅读
  5. nuxt3 路由相关

    2024-01-08 17:00:06       39 阅读
  6. 单机部署Kafka和开启SASL认证

    2024-01-08 17:00:06       38 阅读