【leetcode刷题笔记】八、移除元素
程序员文章站
2022-03-15 20:46:37
...
本题借鉴的是上一道题双指针的方法,我觉得两道题如果能结合起来看一定会有更好的理解。
解题思路
首先把长度为1的情况单独考虑,其他情况的处理办法,即让两个指针都指向第一个元素,然后慢指针同步更改数组数字,同时表示最终数组长度,快指针来判断对应的数字是否等于给定的值。
代码
class Solution {
public int removeElement(int[] nums, int val) {
if(nums.length==1){
if(nums[0]==val){
return 0;
}else{
return 1;
}
}
int slow=0;
int fast=0;
while(fast<nums.length){
if(nums[fast]==val){
fast++;
}else{
nums[slow]=nums[fast];
slow++;
fast++;
}
}
return slow;
}
}
下一篇: qt creator 快捷键
推荐阅读
-
#leetcode刷题之路27-移除元素
-
[LeetCode刷题笔记] 070爬楼梯
-
LeetCode刷题笔记(Intersection of Two Arrays II)
-
LeetCode刷题笔记(Top K Frequent Elements)
-
力扣 (LeetCode)python刷题笔记8. 字符串转换整数 (atoi)
-
hazy’s leetcode刷题笔记(一)
-
leetcode刷题笔记-Dijkstra's algorithm
-
hazy’s leetcode刷题笔记(二)
-
hazy’s leetcode刷题笔记(三)
-
LeetCode刷题笔记 小偷三题 打家劫舍系列 198. 打家劫舍 213. 打家劫舍 II 337. 打家劫舍 III