283. Move Zeroes (移動0)

題目

Given an integer array nums, move all 0’s to the end of it while maintaining the relative order of the non-zero elements.
Note that you must do this in-place without making a copy of the array.


Example 1

1
2
Input: nums = [0,1,0,3,12]
Output: [1,3,12,0,0]

Example 2

1
2
Input: nums = [0]
Output: [0]

Constraints:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

我的解題

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public void moveZeroes(int[] nums) {
int index = 0;
for (int i=0;i<nums.length;i++) {
if (nums[i] != 0) nums[index++] = nums[i];
}
while (index < nums.length) {
nums[index++] = 0;
}
}
}