题283-移动零

给定一个数组 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++;
        }
    }
原文地址:https://www.cnblogs.com/dloading/p/10805671.html