Lintcode539 Move Zeroes solution 題解

gamebus發表於2021-09-09

【題目描述】

Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements.

 Notice

You must do this in-place without making a copy of the array.

Minimize the total number of operations.

給一個陣列 nums 寫一個函式將 0 移動到陣列的最後面,非零元素保持原陣列的順序

 注意事項

1.必須在原陣列上操作

2.最小化運算元

【題目連結】

【題目解析】

1、使用兩個"指標"x和y,初始令y = 0

2、利用x遍歷陣列nums:

3、若nums[x]非0,則交換nums[x]與nums[y],並令y+1

注意:

y指標指向首個0元素可能存在的位置

遍歷過程中,演算法確保[y, x)範圍內的元素均為0

【參考答案】



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4687/viewspace-2806301/,如需轉載,請註明出處,否則將追究法律責任。

相關文章