题目名称:27. Remove Element
难度:Easy
知识点:双指针
解题思路:
这道题其实比较简单,但是容易陷入双指针的固定思维,以两个指针为主,总在合校两个指针,但是其实这道题,我们只需考虑前列的指针即可,只要她合目标数字不一样,那我们就把它复制给后面的指针,采用循环持续检验前列指针,如果其与目标数字一样,就持续下去再去找就好了,后面的每一个数字都要复制给后列指针,后列指针只是像一个锚,负责不断接收前列指针检验过的数字,最后返回后列指针即可。
Java 代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13class Solution { public int removeElement(int[] nums, int val) { if(nums.length == 0) return 0; int slow = 0; for(int fast = 0; fast < nums.length; fast++){ if(nums[fast] != val){ nums[slow] = nums[fast]; slow++; } } return slow; } }
最后
以上就是清新柜子最近收集整理的关于Leetcode 27. Remove Element的全部内容,更多相关Leetcode内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复