给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
二.自我探寻
思路:循环一遍数组,在对数组前面更新成非0数的同时,记录0的个数
利用0的个数,从后往前更新数组为0
代码:public void moveZeroes(int[] nums) {
int n=0;
int j=0;/*搜索非0数的指针*/
for(int i=0;i<nums.length;i++)
{
while(nums[j]==0)
{
n++;
j++;
}
nums[i]=nums[j];
}
for(int i=nums.length-1;i>=nums.length-n;i--)
{
nums[i]=0;
}
}
评价:
三.网络学习过程
四.Python实现