1. 程式人生 > >Leet Code 解題練習筆記——移動零

Leet Code 解題練習筆記——移動零

剛開始想用一個for迴圈來完成,但是沒寫出來。

後來寫了一個思路簡單,程式碼醜陋的方法,先for迴圈數一數有幾個0,再將這些0通過for迴圈挨個刪去,最後在末尾添上0.

for i in range(0, num_len):
    if nums[i] == 0 :
        num_0 = num_0 +1
for i in range(0, num_0):
    nums.remove(0)        
    nums.append(0)

提交上去之後發現用時很久,當然了,兩個for迴圈呢。

看了一眼別人的程式碼,發現直接用while迴圈就完成了,又快又好。

for迴圈在Python中是一個通用的序列迭代器,在迴圈體中無法修改索引;while迴圈則不是,我們可以在迴圈體中修改while後面的條件。

單個while迴圈和單個for迴圈都可以完成這項任務,以後再將這兩種方法補上吧。