文章目录
- 题目
- 方法一:快慢指针
题目
方法一:快慢指针
int fast = 0;// 快指针 用于扫描需要的元素
int slow = 0;//慢指针 用于记录需要存放元素的位置
class Solution {
// 快慢指针
public int removeElement(int[] nums, int val) {
int fast = 0;// 快指针 用于扫描需要存放的元素
int slow = 0;//慢指针 用于记录需要存放元素的位置
while(fast < nums.length){
if(nums[fast] == val) fast++;//如果fast指向元素==val 直接移动fast
else{//如果fast指向元素!=val 则将fast位置的元素放到slow 并同步移动slow
nums[slow] = nums[fast];
fast++;
slow++;
}
}
return slow;//最后slow就是删除元素之后的数组的最后一个元素的位置
}
}