[算法]:快慢指针题记录
1、「移动零」,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
//思路:设定一个慢指针一个快指针,快指针每次+1, 当慢指针的值不等于0的时候也往后移动,当慢指针等于0并且快指针不等于0的时候,交换快慢指针的值,慢指针再+1
function moveZero(arr) {
let i = 0let j = 0while (j < arr.length) {
if (arr[i] !== 0) {
i++
} else {
if (arr[j] !== 0) {
[arr[i], arr[j]] = [arr[j], arr[i]]
i++
}
}
j++
}
return arr;
}
1条评论
有点意思哈!