移除元素
题目
思路分析
1.涉及到容器,那么就很直接的想法,遍历容器,找出与val相同的数,移除,然后利用函数输出长度与移除后的数组
2.移除部分我们使用指针去处理,用指针遍历数组,符合移除条件的利用erase函数移除
注:这里使用到了一个万能头文件,参加蓝桥杯的同学可以试试运用一下
代码
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; i++) { cin >> nums[i]; } int val; cin >> val; vector<int>::iterator it = nums.begin(); while (it!=nums.end()) { if (*it == val) { it = nums.erase(it); } else { ++it; } } cout << nums.size() << endl; for (int i = 0; i < nums.size(); i++) { cout << nums[i]<<" "; } return 0; }
放在力扣的答案:
class Solution { public: int removeElement(vector<int>& nums, int val) { vector<int>::iterator it = nums.begin(); while (it != nums.end()) { if (*it == val) { it = nums.erase(it); } else { ++it; } } return nums.size(); } };
标签:val,nums,int,cin,C++,vector,移除,例题 From: https://www.cnblogs.com/hcrzhi/p/18124572