力扣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;}
    }
};
相关推荐
副露のmagic7 小时前
更弱智的算法学习day 10
python·学习·算法
逸风尊者7 小时前
开发可掌握的知识:uber H3网格
后端·算法
半问7 小时前
付费投流硬控互联网
人工智能·算法·互联网·推荐·流量
西岸行者7 小时前
学习Hammerstein-Wiener 模型,以及在回声消除场景中的应用
人工智能·学习·算法
夏乌_Wx7 小时前
练题100天——DAY24:罗马数字转整数+环形链表+大小端判断
算法
youngee117 小时前
hot100-48腐烂的橘子
算法
liu****8 小时前
10.排序
c语言·开发语言·数据结构·c++·算法·排序算法
_OP_CHEN8 小时前
【算法基础篇】(三十二)动态规划之背包问题扩展:从多重到多维,解锁背包问题全场景
c++·算法·蓝桥杯·动态规划·背包问题·算法竞赛·acm/icpc
listhi5208 小时前
机械系统运动学与动力学在MATLAB及SimMechanics中的实现方案
人工智能·算法·matlab
fufu03118 小时前
Linux环境下的C语言编程(三十九)
c语言·数据结构·算法·链表