0283. 移动零 #
- 标签:数组、双指针
- 难度:简单
题目大意 #
给你一个数组,将所有 0 移动到末尾,并保持原有的非 0 数字的相对顺序。要求只能在原数组上进行操作。
解题思路 #
使用两个指针 left,right。left 指向处理好的非 0 数字数组的尾部,right 指针指向当前待处理元素。
不断向右移动 right 指针,每次移动到非零数,则将左右指针对应的数交换,交换同时将 left 右移。
此时,left 指针左边均为处理好的非零数,而从 left 指针指向的位置开始, right 指针左边都为 0。
遍历结束之后,则所有 0 都移动到了右侧,且保持了非零数的相对位置。
代码 #
|
|