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循环都可以完成这项任务,以后再将这两种方法补上吧。