小黑代码
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
n = len(nums)
slow = 0
for fast in range(n):
if nums[fast] != 0:
nums[slow] = nums[fast]
slow += 1;
nums[slow:] = [0] * (n-slow)
return nums

交换指针法(Java)
class Solution {
public void moveZeroes(int[] nums) {
int slow = 0,fast = 0;
int n = nums.length;
while(fast < n){
if(nums[fast] != 0){
this.swap(nums,fast,slow);
slow++;
}
fast++;
}
}
public void swap(int[] nums,int a,int b){
int temp = nums[a];
nums[a] = nums[b];
nums[b] = temp;
}
}

交换指针法(python)
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
fast = slow = 0
n = len(nums)
while fast < n:
if nums[fast] != 0:
nums[slow],nums[fast] = nums[fast],nums[slow]
slow += 1
fast += 1
return nums
