名曰删除,其实是只读取头部的n个元素(n-不同的元素数)

空间:O(1)

时间:O(n)

简单算法:只需要用一个变量计数,然后将不同值的元素值赋给该计数处的值。

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