0283. Move Zeroes (E)

Move Zeroes (E)

题目

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.

Example:

Input: [0,1,0,3,12]
Output: [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.

题意

将数组中所有0放到最后,其余数按照原有顺序放到前面。

思路

见代码。


代码实现

Java

class Solution {
    public void moveZeroes(int[] nums) {
        int p = 0, q = 0;
        while (q != nums.length) {
            if (nums[q] != 0) {
                int tmp = nums[p];
                nums[p++] = nums[q];
                nums[q] = tmp;
            }
            q++;
        }
    }
}
posted @ 2020-06-22 05:39  墨云黑  阅读(85)  评论(0编辑  收藏  举报