Given input array nums = [3,2,2,3]
, val = 3
Your function should return length = 2, with the first two elements of nums being 2.
就是把不是3的元素往前移动至队首,再返回不是3的元素个数.
(O(n)) time, (O(0)) space.
int removeElement(vector<int> nums, int val){
int i = 0, k = 0;
while(i < nums.size()){
if(nums[i] != val)
nums[k++] = nums[i];
i++;
}
return k;
}