给定一个数组
nums
,编写一个函数将所有0
移动到数组的末尾,同时保持非零元素的相对顺序。示例:
输入:[0,1,0,3,12]输出:[1,3,12,0,0]
说明:
- 必须在原数组上操作,不能拷贝额外的数组。
- 尽量减少操作次数。
我们反着考虑,把不是k的元素前移,k到数组尾全设成0。
class Solution { public: void moveZeroes(vector<int>& nums) { int k=0; for(int i=0;i<nums.size();i++) { if(nums[i]!=0) { nums[k++]=nums[i]; } } while(k<nums.size()) { nums[k++]=0; } } };
Leetcode 283. 移动零 思维
猜你喜欢
转载自blog.csdn.net/Evildoer_llc/article/details/88544638
今日推荐
周排行