Remove elements
This commit is contained in:
@@ -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
20
src/s0283_move_zeroes.cpp
Normal 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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user