移动零

来源:互联网 发布:上海淘宝摄影基地 编辑:程序博客网 时间:2024/05/14 06:05
/*
问题描述:给一个数组 nums 写一个函数将 0 移动到数组的最后面,非零元素保持原数组的顺序
来源:LintCode
作者:syt

日期:2017-8-12

思路:遍历遇到零移至末尾,要考虑当前位置移动后是否还为零

*/

#include <iostream>#include <vector>using namespace std;/*** @param nums an integer array* @return nothing, do this in-place*/void moveZeroes(vector<int>& nums) {// Write your code hereint i = 0;int count = 0;while (count < nums.size()){if (nums[i] == 0){for (int j = i + 1; j < nums.size(); j++){nums[j - 1] = nums[j];}nums[nums.size() - 1] = 0;}if (nums[i] != 0)i++;count++;}for (int i = 0; i < nums.size(); i++)cout << nums[i] << endl;}


原创粉丝点击