两种方法,都采用双指针。
1.前后双指针,与val相同的元素放到数组末尾
public int removeElement(int[] nums, int val) {
int i=0,j = nums.length-1;
while(i<=j)
{
if(nums[j]==val)
{
j--;
continue;
}
if(nums[i]==val)
{
nums[i] = nums[j];
j--;
}
i++;
}
return j+1;
}
2.如图,截自leetcode评论区