题目来源【Leetcode】
Given an array and a value, remove all instances of that value in place and return the new length.
Do not allocate extra space for another array, you must do this in place with constant memory.
The order of elements can be changed. It doesn’t matter what you leave beyond the new length.
Example:
Given input array nums = [3,2,2,3], val = 3Your function should return length = 2, with the first two elements of nums being 2.
这道题比较简单,直接上代码:
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int temp = 0;
for(int i = 0; i < nums.size() ; i++){
if(nums[i] != val) {
nums[temp] = nums[i];
temp++;
}
}
return temp;
}
};

本文介绍了一种解决LeetCode上移除指定元素问题的方法。该方法通过一次遍历数组,将不等于指定值的元素向前移动并返回新的长度。此算法在原地操作,不需要额外的空间。
290

被折叠的 条评论
为什么被折叠?



