移动零

来源:互联网 发布:南京雨花台区网络问政 编辑:程序博客网 时间:2024/05/01 06:29

题目要求:在不改变数组中元素顺序的前提下,将数组中的零元素移至数组末尾;
version one
由于题目过于简单,这里就只贴出一种方案,复杂度为o(n),先遍历数组,将非零元素依次填充,最后将数组尾后补零,直到填充满数组为止。唯一的技巧就是用一个 size_t变量来统计数组当前的位置。

void moveZeroes(vector<int>& nums) {        // Write your code here        vector<int>::iterator it;        size_t pos = 0;        for(it = nums.begin(); it != nums.end(); it++)        {            if(*it !=0)            {                nums[pos++] = *it;            }        }        for(; pos != nums.size(); pos++)        {            nums[pos] =0;        }    }
0 0