给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明: 必须在原数组上操作,不能拷贝额外 的数组。 尽量减少操作次数。 解法1: public void moveZeroes(int[] nums) { int n=nums.length-1; int i=0; while (i<n) { if (nums[i]==0) { int j=i+1; while (j<=n) { nums[j-1]=nums[j]; j++; } nums[n]=0; n--; } if (nums[i]!=0) i++; } }