LeetCode 解題練習:Move Zeroes

Ping-Lun Liao
Feb 17, 2024

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, please click the ads on the blog or buy me a coffee. Thank you very much.

題目原文描述 https://leetcode.com/problems/move-zeroes/

中文描述

給定一個整數陣列 nums ,將所有的 0 移到陣列結尾處,並保持原先非零整數的順序。請修改原本陣列 nums 的內容來完成。

範例一:

輸入 nums = [0, 1, 0, 5, 0, 0, 3]

輸出 nums = [1, 5, 3, 0, 0, 0, 0]

範例二: 範例三: 範例四: 解法一:

left = 0,從左邊開始往右移動,如果陣列元素 nums[i] 不等於零 ,則將此元素複製到 nums[left],再將 left 加 1。走訪完陣列後,left 為非零整數的數量,從left索引位置之後的元素通通設為零。

Python Code

nums[left] = nums[i] # 將此元素複製到 nums[left]

解法二:

找出數字零 zeroPos 的位置,然後開始往後找非零數字 nums[i] != 0 位置,將 nums[i] 與 nums[zeroPos] 交換,並更新 zeroPos 的位置。

Python Code

Originally published at https://yunlinsong.blogspot.com.

--

--