美文网首页程序员
力扣 283 移动零

力扣 283 移动零

作者: zhaojinhui | 来源:发表于2020-08-17 11:08 被阅读0次

    题意:给定一个数组,把其中的0都移动到最后

    思路:设一个end指针记录第一个为0的index

    1. 遍历数组,把非0的数字按遍历到的顺序添加到end指针,并增加end
    2. 遍历数组,从end开始到数组末尾设为0

    思想:快慢指针

    复杂度:时间O(n),空间O(1)

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

    相关文章

      网友评论

        本文标题:力扣 283 移动零

        本文链接:https://www.haomeiwen.com/subject/ypnfjktx.html