题目
已知一个数组,将数值!=val的数据移动到数组头部,eg: input = [3,2,3] val = 3; output : length = 1 && [2,2,3]
算法
维护len标志不等于val的数字个数,遍历数组判断nums[i]是否等于val,如果不相等,令nums[len] = nums[i],同时 len++
代码
class Solution {
public:
int removeElement(vector<int>& nums, int val) {
int len = 0;
int vec_len = nums.size();
for(int i = 0; i < vec_len; i++){
if(nums[i] != val){
nums[len] = nums[i];
len++;
}
}
return len;
}
};