题目:
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn't matter what you leave beyond the new length.
解答:
就是两个指针,遇见这个value的时候和后面进行交换,同时移动指针即可
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int size = nums.size();
if(size == 0)
return 0;
int start = 0;
int end = size - 1;
while(start <= end)
{
if(nums[start] == val)
{
nums[start] = nums[end];
nums[end] = val;
end--;
}
else
start++;
}
return start;
}
};