forked from kdn251/interviews
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMoveZeros.java
More file actions
28 lines (23 loc) · 805 Bytes
/
MoveZeros.java
File metadata and controls
28 lines (23 loc) · 805 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 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:
// You must do this in-place without making a copy of the array.
// Minimize the total number of operations.
public class MoveZeros {
public void moveZeroes(int[] nums) {
if(nums == null || nums.length == 0) {
return;
}
int index = 0;
for(int num : nums) {
if(num != 0) {
nums[index] = num;
index++;
}
}
while(index < nums.length) {
nums[index] = 0;
index++;
}
}
}