LeetCode.283. Move Zeroes

https://leetcode.com/problems/move-zeroes/

一開始想複雜了,還用雙指針

其實很簡單,先遍歷一遍,用一個自增的指針,指向下一個非0數擺放的位置。遍歷完了之後,非0的數都擺到前面了,解決後面全部改成0就完事了。

class Solution {
    public void moveZeroes(int[] nums) {

        if (nums == null || nums.length == 0) {
            return;
        }

        int place = 0;
        for (int val : nums) {
            if (val != 0) {
                nums[place++] = val;
            }
        }

        for (int i = place; i < nums.length; i++) {
            nums[i] = 0;
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章