Leetcode 283. Move Zeroes

Move Zeroes
Move Zeroes

283. Move Zeroes :

給定一個整數數組 nums,將所有 0 移動到它的末尾,同時保持非零元素的相對順序。

Python

方法一 :

迴圈判斷不等於0的數,帶入array,最後在尾端補0

class Solution(object):
    def moveZeroes(self, nums):
        i=0
        for num in nums:
            if num!=0:
                nums[i]=num
                i+=1
        for j in range(i,len(nums)):
            nums[j]=0

方法二 :

當數值等於0時,將他remove掉,再append在最後面

class Solution(object):
    def moveZeroes(self, nums):
        for i in nums:
            if i == 0:
                nums.remove(i)
                nums.append(i)
        return nums

C++

迴圈判斷不等於0的數,帶入array,最後在尾端補0

class Solution {
public:
    void moveZeroes(vector<int>& nums) {
        int i = 0;
        for (int j = 0; j < nums.size(); j++) {
            if (nums[j] != 0) {
                nums[i] = nums[j];
                i++;
            }
        }
        for (int j = i; j < nums.size(); j++) {
            nums[j] = 0;
        }
    }
};