移除元素
给定一个数组nums和一个值val,你需要原地移除所有数值等于val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1) 额外空间的条件下完成
运算代码如下:
class Solution
{public: int removeElement(vector<int>& nums, int val)
{int len = nums.size();
int a = 0;
while (a < len)
{ if (nums[a] == val)
nums[a] = nums[--len];
else ++a;
}
return len;
}
};
代码比较好理解,需要注意的是最后返回值是已经做过自减的len
舒服!