LeetCode 283. Move Zeroes
题目描述
给定一个数组 nums
,编写一个函数将所有 $0$ 移动到数组的末尾,同时保持非零元素的相对顺序。
示例:
输入: [0,1,0,3,12]
输出: [1,3,12,0,0]
说明:
1. 必须在原数组上操作,不能拷贝额外的数组。
2. 尽量减少操作次数。
解题思路
方法:双指针
用两个指针i, j从头到尾依次遍历,遇到零元素就记录位置,遇到非零元素就进行替换零的操作
当一个指针i进行完一次遍历,此时非零元素已经全部移动到前面的位置,只需要将剩余位置上的元素置为零即可
代码实现
1 | void moveZeroes(int* nums, int numsSize){ |
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏