package LeetCode_283
/**
* 283. Move Zeroes
* https://leetcode.com/problems/move-zeroes/description/
*
* 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:
You must do this in-place without making a copy of the array.
Minimize the total number of operations.
* */
class Solution {
fun moveZeroes(nums: IntArray): Unit {
var index = 0
for (i in nums.indices) {
if (nums[i] != 0) {
nums[index++] = nums[i]
}
}
for (i in index until nums.size) {
nums[i] = 0
}
}
}