LeetCode-27.移除元素

题目详解

相关链接

思路

  • 先排序,再使用双指针去遍历找到需要移除的那段区间移除掉

看完代码随想录之后的想法

  • 原来不需要排序,只遍历一遍就可以,原地修改数组

实现过程中遇到的困难

代码

TypeScript
1
2
3
4
5
6
7
8
9
function removeElement(nums: number[], val: number): number {
let slow = 0, // 慢指针指向新数组的元素
fast = 0 // 快指针指向原数组的元素
while (fast < nums.length) {
if (nums[fast] !== val) nums[slow++] = nums[fast]
fast++
}
return slow
}

时间复杂度:O(n)
空间复杂度:O(1)

收获

-------- 本文结束 感谢阅读 --------
0%