leetcode hot 08

解题思路:双指针问题,一个思路就是一个指针负责保留要的数组元素,另一个负责一直往前筛选,碰到0就跳过,剩下的就保存在第一个指针中,最后再把剩下的部分用0补齐。

class Solution {
    public void moveZeroes(int[] nums) {
        int left = 0;
        int right = 0;
        while(right<nums.length){
            while(right<nums.length-1&&nums[right]==0) right++;
            nums[left] = nums[right];
            left++;
            right++;
        }
        while(left<nums.length){
            nums[left]=0;
            left++;
        }
        return ;
    }
}
posted @ 2025-02-21 19:07  kukudev  阅读(3)  评论(0)    收藏  举报