---
# System prepended metadata

title: 'LeetCode #27 [Remove Element](https://leetcode.com/problems/remove-element)'
tags: [LeetCode, Easy]

---

###### 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;
    }
};
```