283. 移动零-c与语言辅助数组法
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
示例 1:
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
示例 2:
输入: nums = [0]
输出: [0]
对于这一题,我们可以有很多算法去处理这个题目,但是个人解以,还是使用常规一些的方法,这样不容易出意外,在考试中或者面试中可以快速并简单的解决问题,解题代码如下:
void moveZeroes(int* nums, int numsSize){
int aid[numsSize];
int size1=0;
int size2=0;
int i;
for(i=0;i<numsSize;i++){
if(nums[i]!=0){
nums[size1++]=nums[i];
}
else{
aid[size2++]=nums[i];
}
}
for(i=0;i<size2;i++){
nums[size1++]=aid[i];
}
}