给一个数组 nums 写一个函数将 0
移动到数组的最后面,非零元素保持原数组的顺序
注意事项
1.必须在原数组上操作
2.最小化操作数
样例
给出 nums = [0, 1, 0, 3, 12]
, 调用函数之后, nums =[1, 3, 12, 0, 0]
.
class Solution {
public:
/**
* @param nums an integer array
* @return nothing, do this in-place
*/
void moveZeroes(vector<int>& nums) {
// Write your code here
int i = 0;
int j = 0;
int len = nums.size();
while( i < len ) {
if( nums[i] != 0 ) {
nums[j] = nums[i];
j++;
}
i++;
}
while( j < len ) {
nums[j] = 0;
j++;
}
}
};