leetcode 刷题记:27. 移除元素
这道题和前面的 26 题一样,要原地修改。同样我还是用快慢指针做。
问题描述
给你一个数组 nums 和一个值 val
,你需要原地
移除所有数值等于 val
的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用 $O(1)$ 额外空间并原地
修改输入数组。
1 |
|
解题思路
循环一遍数组,只要元素不等于val
,就把快指针的元素覆盖慢指针的元素上。
方法一
这里使用到了快慢指针
代码:
1 |
|
方法二
除了快慢指针,还可以用数组长度做文章。原因是题目不要求数组元素的位置固定,只要求删除掉指定元素。
代码:
1 |
|
leetcode 刷题记:27. 移除元素
https://bubao.github.io/posts/5b701856.html