283. Move Zeroes

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
        }
    }
}

 

posted @ 2020-07-24 23:29  johnny_zhao  阅读(67)  评论(0编辑  收藏  举报