双指针算法题笔记

1、移动零

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

两个指针将一个数组划分三个部分:

[0,left-1] 为已处理部分,按照题目意思就是非零部分

[left,right-1]也是已处理部分,按照题目意思就是全零部分

[right,nums.length-1]未处理部分,如果nums[right]==0则不用处理。如果nums[right]!=0则与第一个0交换位置

2、复写零

相关推荐

  1. 指针算法笔记

    2024-06-07 09:16:01       21 阅读
  2. LeetCode刷笔记指针算法

    2024-06-07 09:16:01       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-07 09:16:01       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-07 09:16:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-07 09:16:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-07 09:16:01       20 阅读

热门阅读

  1. Oracle数据库面试题-6

    2024-06-07 09:16:01       8 阅读
  2. Alembic维护python的数据库表结构

    2024-06-07 09:16:01       9 阅读
  3. 实现嵌入式软件定时、超时机制的常用方式

    2024-06-07 09:16:01       9 阅读
  4. 【深度学习基础】池化层

    2024-06-07 09:16:01       6 阅读
  5. 如何编辑 sudoers 文件

    2024-06-07 09:16:01       8 阅读
  6. C++ 用数组模拟队列

    2024-06-07 09:16:01       6 阅读
  7. 2269. 找到一个数字的 K 美丽值

    2024-06-07 09:16:01       9 阅读
  8. 数分—AB测试

    2024-06-07 09:16:01       9 阅读
  9. opencv--3d数据拟合平面并对倾斜平面矫正

    2024-06-07 09:16:01       7 阅读
  10. jmeter基础入门练习题

    2024-06-07 09:16:01       10 阅读
  11. 求最小公倍数

    2024-06-07 09:16:01       9 阅读