描述
给定一个数组nums,编写函数将数组内所有0元素移至数组末尾,并保持非0元素相对顺序不变。
例如,给定nums = [0, 1, 0, 3, 12],调用函数完毕后, nums应该是 [1, 3, 12, 0, 0]。
注意:
- 你应该“就地”完成此操作,不要复制数组。
- 最小化操作总数。
思路
按O(n)的思路来想,应该在遍历一次的过程中完成操作,那么应该有两个“指针”,一个num指针来遍历数组,一个pos来将为0的数字往后移位,遍历完毕后,即完成操作。
代码
1 | class Solution(object): |