题目:给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。最后输出整个数组。
#include <bits/stdc++.h>
using namespace std;
int removeElement(vector<int> &nums, int val){
int n = nums.size();
int l = 0;
for(int r = 1; r < n; r++){
if(nums[l] == val) nums[l] = nums[r];
else l++;
}
return l+1;
}
int main()
{
vector<int> nums = {1,2,3,4,4,5,6,7};
int val = 4;
int n = removeElement(nums, val);
for(int i = 0; i < n; i++){
cout<<nums[i]<<" ";
}
return 0;
}
注意
:
- STL中
vector数组
的使用方法详见:【C/C++】STL详解;
写在后面
这个专栏主要是我在刷题的过程中总结的一些笔记,因为我学的也很一般,如果有错误和不足之处,还望大家在评论区指出。希望能给大家的学习带来一点帮助,共同进步!!!