给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。
请注意 ,必须在不复制数组的情况下原地对数组进行操作。
- 示例1
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
- 示例2
输入: nums = [0]
输出: [0]
- 题解1
var moveZeroes = function(nums){
let len = nums.length,left=0,right = 0;
for(let i =0;i<len;i++){
if(nums[i]!=0){
let tmp =nums[left]
nums[left] = nums[right]
nums[right] = tmp
left++
}
right++
}
rertun nums
}
- 题解2
var moveZeroes = function(nums){
return nums.sort((a,b)=>b?0:-1)
}
来源:力扣
来源链接:https://leetcode-cn.com/problems/move-zeroes/submissions/