LeetCode初级算法(数组篇)-----移动零

LeetCode初级算法(数组篇)-----移动零

题目

**加粗样式
**

原理思路

1、计算零元素的个数
2、通过个数判断完成移动非零的元素,
3、赋值最后的其他元素为零。

代码

/* 

 */

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int n = nums.size();
        int size = 0,i =0;
        for(i = 0;i<n;i++){
            if(nums[i]==0){
                ++size;
                continue;
            }
            //非零元素向前移动的个数 
        if(size) nums[i-size] = nums[i];
        }

        //移动了几次就有几个0  size代表零的个数
        for(i = n-size;i<n;i++) nums[i] = 0;
    }
};

版权声明:本文为qq_36302310原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。