您的位置:首页 > 其它

Move Zeroes

2016-05-12 11:54 274 查看
这道题不使用一个数组赋值到另一个数组的方法,看到有大神这样写的,膜拜以下:

思路:一遍循环,如果nums[i]==0;记录下0的个数zero,如果不为0,则看看前面有没有0,如果有,则将该位前移zero位,然后该位赋为0;

代码如下:

class Solution {
public:
void moveZeroes(vector<int>& nums) {

int zero=0;
for(int i=0;i<nums.size();i++){

if(nums[i]==0) zero++;
else{
if(zero>0){
nums[i-zero]=nums[i];
nums[i]=0;
}

}

}
}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: