算法1.0
283. 移动零 - 力扣(LeetCode)
双指针
1.0 双指针的作用
cur:从左到右遍历数组 dest:已处理的区间内,非零元素的最后一个位置
cur把数组划分为两部分 未扫描和已扫描 dest把处理过的数组划分为两个部分
cur和dest把整个数组划分为3个区间:
双指针是快排里面最核心的一步 其实就是数据划分这一步
下面是效果图和代码:
class Solution {public void moveZeroes(int[] nums) {for(int cur = 0, dest = -1;cur<nums.length;cur++){if(nums[cur] != 0){dest++;int tmp = nums[cur];nums[cur]=nums[dest];nums[dest]=tmp;}} }
}
//xiyu250928#1*1