给你一个数组nums和一个值val,移除所有数值等于val的元素,并返回移除后数组的新长度。
不要使用额外的数组空间,你必须仅使用O(1)额外空间.
input:nums = [3,2,2,3], val = 3 output:2
class Solution {
public int removeElement(int[] nums, int val) {
int n = nums.length;
int left = 0,right = 0;
while(right < n){
if(nums[right] != val){
nums[left] = nums[right];
left++;
}
right++;
}
return left;
}
}