数据结构与算法:学习笔记(二) 移除元素
LeetCode:27
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
提示:以下不介绍算法,只记录vs中的coding以及运行后结果,仅供自己学习
#include<iostream>
using namespace std;
#include<vector>
//双指针移除元素,返回剩余元素组成数组的长度
class Solution {
public:
static int removeElem(vector<int>& nums, int val) {
int slowIndex = 0;
for (int fastIndex = 0; fastIndex < nums.size(); fastIndex++) {
if (nums[fastIndex] != val) {
nums[slowIndex++] = nums[fastIndex];
}
}
return slowIndex;
}
};
int main() {
vector<int> nums = { 2, 2, 3, 3 };
int val = 3;
cout << Solution::removeElem(nums, val);
system("pause");
return 0;
}
运行结果如下: