题目:移动零
思路:使用两个指针,一个从前往后对数组进行遍历,另一个始终指向前端的非零元素;只要指针 i 指向的元素非零,就将指针 k 当前指向的元素赋值为 num[i] ,最后再将指针 k 后面的元素全部置为零即可
1void moveZeroes(vector<int>& nums)
2{
3 int k = 0;
4 for(int i = 0; i < nums.size(); i++)
5 {
6 if(nums[i] != 0)
7 {
8 nums[k] = nums[i];
9 k++;
10 }
11 }
12 for(int j = k; j < nums.size(); j++)
13 {
14 nums[j] = 0;
15 }
16}
原文:easy