283 交换0

 
 

283.Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

Credits:Special thanks to @jianchao.li.fighter for adding this problem and creating all test cases.

class Solution {
    public void moveZeroes(int[] nums) {
        if(nums.length==0)
            return;
        int i=0;
        for(int j=0;j<nums.length;j++){
            if(nums[j]!=0){
                nums[i] = nums[j];
                i++;
            }
        }
        for(int j=i;j<nums.length;j++){
            nums[j] = 0;
        }
       
        
    }
}

猜你喜欢

转载自blog.csdn.net/u013177799/article/details/79757220