您的位置:首页 > 其它

Leetcode #283 Move Zeroes

2015-09-23 01:48 190 查看
Given an array
nums
, write a function to move all
0
's
to the end of it while maintaining the relative order of the non-zero elements.

For example, given
nums = [0, 1, 0, 3, 12]
, after calling your function,
nums
should
be
[1, 3, 12, 0, 0]
.

Note:

You must do this in-place without making a copy of the array.
Minimize the total number of operations.

Credits:

Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

Difficulty: Easy

</pre><pre name="code" class="cpp">class Solution {
public:
void moveZeroes(vector<int>& nums) {
int len = nums.size();
int zeroNum = 0;
for(int i = 0;i<len;i++)
{
if(nums[i] == 0)
zeroNum++;
else
nums[i-zeroNum] = nums[i];
}
for(int i = len-1;i>len-1-zeroNum;i--)
nums[i] = 0;
return;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: