LeetCode 筆記 - 283. Move Zeroes

題目在此 283. Move Zeroes

給一個參雜 0 的數列,請把所有 0 移動到尾端

解題思維

這題也是 Two Pointers 大法的一種應用

關鍵是 insert_pos 是把數值一個一個從前面插下來的指標
所以每交換一次才會 + 1

程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution:
def moveZeroes(self, nums: List[int]) -> None:
"""
Do not return anything, modify nums in-place instead.
"""
if (length := len(nums)) <= 1:
return

insert_pos = 0

for i in range(length):
if nums[i] != 0:
nums[insert_pos], nums[i] = nums[i], nums[insert_pos]

insert_pos += 1

相關文章