思路:将所有的零删除并计数,最后再加上就行了,不用我代码里的新的vector能大量节省空间
class Solution { public: void moveZeroes(vector& nums) { vector an; int l = nums.size(); int cnt = 0; //0的个数 for(int i = 0; i < l; i++){ if(nums[i] == 0){ cnt++; }else{ an.push_back(nums[i]); } } for(int i = 0; i < cnt; i++){ an.push_back(0); } nums = an; } };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)