Remove elements

This commit is contained in:
2022-11-24 17:21:25 +08:00
parent 56880d0095
commit 1e65cff7e5
6 changed files with 72 additions and 12 deletions

View File

@@ -1,18 +1,14 @@
#include "s0027_remove_element.hpp"
int Solution::removeElement(vector<int>& nums, int val) {
int size = nums.size();
if (size == 0) {
return 0;
}
int fast{0}, slow{0};
for (; fast < size; ++fast) {
if (nums.at(fast) == val) {
continue;
} else {
nums[slow] = nums.at(fast);
++slow;
int len = nums.size();
int f{0}, s{0};
while (f < len) {
if (nums[f] != val) {
nums[s] = nums[f];
++s;
}
++f;
}
return slow;
return s;
}

20
src/s0283_move_zeroes.cpp Normal file
View File

@@ -0,0 +1,20 @@
#include "s0283_move_zeroes.hpp"
void Solution::moveZeroes(vector<int>& nums) {
int len = nums.size();
if (len <= 1) {
return;
}
int s{0}, f{0};
while (f < len) {
if (nums[f] != 0) {
nums[s] = nums[f];
++s;
}
++f;
}
while (s < len) {
nums[s] = 0;
++s;
}
}