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.
LeetCode Problem - 283: Link | Click Here
class Solution {
public void moveZeroes(int[] nums) {
// Initialize a variable to keep track of the index where non-zero elements should be placed
int nonZeroIndex = 0;
// Iterate through the array
for (int i = 0; i < nums.length; i++) {
// If the current element is non-zero, update the element at nonZeroIndex
if (nums[i] != 0) {
nums[nonZeroIndex++] = nums[i];
}
}
// Fill the remaining elements in the array with zeros
while (nonZeroIndex < nums.length) {
nums[nonZeroIndex++] = 0;
}
}
}