力扣283. 移动零

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

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1: 输入: nums =[0,1,0,3,12] 输出:[1,3,12,0,0]

示例 2: 输入: nums =[0] 输出:[0]

cpp 复制代码
class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int i=0;//指针i表示坑位,指针j表示枚举元素
        for(int j=0;j<nums.size();j++){
            //当前元素不为0则可以放进坑位
            if(nums[j]){nums[i++]=nums[j];}
        }
        //将后面的元素都置0
        for(;i<nums.size();i++){nums[i]=0;}
    }
};
相关推荐
汉堡go1 分钟前
SLAM数学基础1
人工智能·算法·机器学习
qzhqbb2 分钟前
不可检测水印
人工智能·算法
快敲啊死鬼3 分钟前
机试day5
算法·华为od·华为
8Qi84 分钟前
LeetCode热题100--189
c语言·数据结构·c++·算法·leetcode
灰色小旋风5 分钟前
力扣第八题C++ 字符串转换整数
c++·算法·leetcode
@––––––7 分钟前
力扣hot100—系列9—图论
算法·leetcode·图论
pp起床8 分钟前
图论 | part01
算法·深度优先·图论
luckycoding9 分钟前
3676. 碗子数组的数目
算法·游戏·深度优先
灰色小旋风9 分钟前
力扣第十题C++正则表达式匹配
c++·leetcode·正则表达式
I_LPL10 分钟前
day50 代码随想录算法训练营 图论专题3
java·算法·深度优先·图论·求职面试