###### tags: `LeetCode` `Easy` # LeetCode #27 [Remove Element](https://leetcode.com/problems/remove-element) ### (Easy) 給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後數組的新長度。 不要使用額外的數組空間,你必須僅使用 O(1) 額外空間並 原地 修改輸入數組。 元素的順序可以改變。你不需要考慮數組中超出新長度後面的元素。 --- 給定一個vector nums與整數k, 消除vector中的所有k值。 設一變數count計算出現的非k值數量。每當nums[i]不為k時, 將nums[i]存入nums[count]中, 再count++。如此當for迴圈跑完後, 會將原vector中k值以外的數(共count位)存入原vector nums的前count位, 最後再回傳count。 --- ``` class Solution { public: int removeElement(vector<int>& nums, int val) { int cnt=0; for(int i=0;i<nums.size();i++){ if(nums[i]!=val){ nums[cnt++]=nums[i]; } } return cnt; } }; ```