方法一:双指针
解题思路
left指针是左指针,right是右指针,如果right所指向的元素不是val,则保存在nums数组前面,并且left++,最终left是nums数组中不等于val的元素个数。
代码
class Solution {
public int removeElement(int[] nums, int val) {
int left = 0;
for(int right = 0; right < nums.length; right++)
if(nums[right] != val)
nums[left++] = nums[right];
return left;
}
}
复杂度分析
- 时间复杂度: O ( n ) O(n) O(n)。
- 空间复杂度: O ( 1 ) O(1) O(1)。

389

被折叠的 条评论
为什么被折叠?



