力扣27. 移除元素(快慢指针)
Problem: 27. 移除元素
文章目录
- 题目描述
- 思路
- Code
题目描述
思路
定义快慢指针均指向数组起始位置,当fast指针指向的元素不等于val时将fast指针指向的元素赋值给slow并让slow指针向前移动,fast指针一直向前移动
时间复杂度:
O ( n ) O(n) O(n);
空间复杂度:
O ( 1 ) O(1) O(1);
Code
class Solution {
public int removeElement(int[] nums, int val) {
int slow = 0;
int fast = 0;
while (fast < nums.length) {
if (nums[fast] != val) {
nums[slow] = nums[fast];
slow++;
}
fast++;
}
return slow;
}
}