LeetCode 训练场:283. 移动零

简介: LeetCode 训练场:283. 移动零

1. 题目

移动零

2. 描述

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。


示例:


输入: [0,1,0,3,12]


输出: [1,3,12,0,0]


3. 思路

声明一个 count 用于计数数组中不为 0 的元素个数

然后遍历数组,将不为 0 的元素存入数组前 count 位

然后将剩下的 nums.length - count 位置为 0

此时主要进行遍历操作,时间复杂度为 O ( n ) O(n)O(n).

4. 实现


public void moveZeroes(int[] nums) {
    // 计数不为零的元素个数
    int count = 0;
    // 遍历数组,将不为 0 的存入数组前 count 位
    for (int item : nums) {
        if (item != 0) {
            nums[count++] = item;
        }
    }
    // 将剩下的 num.length - count 位置为 0
    for (int i = count; i < nums.length; i++) {
        nums[i] = 0;
    }
}
目录
相关文章
|
前端开发 算法 JavaScript
LeetCode移动零使用JavaScript解题|前端学算法
LeetCode移动零使用JavaScript解题|前端学算法
89 0
LeetCode移动零使用JavaScript解题|前端学算法
|
JavaScript
JS 刷 Leetcode:283. 移动零
JS 刷 Leetcode:283. 移动零
JS 刷 Leetcode:283. 移动零
|
存储 算法 Java
力扣LeetCode初级算法(加一,移动零)(二)
力扣LeetCode初级算法(加一,移动零)
105 0
力扣LeetCode初级算法(加一,移动零)(二)
|
Java
《LeetCode刷题》—283. 移动零
《LeetCode刷题》—283. 移动零
98 0
《LeetCode刷题》—283. 移动零
|
算法 Python
LeetCode 283. 移动零 Move Zeroes
LeetCode 283. 移动零 Move Zeroes
LeetCode每日一题——462. 最少移动次数使数组元素相等 II
给你一个长度为 n 的整数数组 nums ,返回使所有数组元素相等需要的最少移动数。
93 0
|
存储 算法 Java
力扣LeetCode初级算法(加一,移动零)
力扣LeetCode初级算法(加一,移动零)
127 0
LeetCode 283 移动零
LeetCode 283 移动零
97 0