題目: LeetCode - 27. Remove Element

題目說明

給一個陣列,求刪除某個特定數字後的陣列及其大小。

題目希望使用原本的陣列來達成,不要建立額外的陣列,也就是空間複雜度為 O(1) 的意思。

解題思路

遍歷陣列,若值不等於要刪除的值則從頭開始放入陣列。

參考解法

1
2
3
4
5
6
7
8
9
class Solution {
public:
int removeElement(vector<int>& nums, int val)
{
int l = 0;
for (auto& n : nums) if (n != val) nums[l++] = n;
return l;
}
};