若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
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]
範例二:
輸入 nums = [0, 0, 1]
輸出 nums = [1, 0, 0]
範例三:
輸入 nums = [1]
輸出 nums = [1]
範例四:
輸入 nums = [0]
輸出 nums = [0]
解法一:
left = 0,從左邊開始往右移動,如果陣列元素 nums[i] 不等於零 ,則將此元素複製到 nums[left],再將 left 加 1。走訪完陣列後,left 為非零整數的數量,從left索引位置之後的元素通通設為零。
Python Code
解法二:
找出數字零 zeroPos 的位置,然後開始往後找非零數字 nums[i] != 0 位置,將 nums[i] 與 nums[zeroPos] 交換,並更新 zeroPos 的位置。
Python Code
沒有留言:
張貼留言