名曰删除,其实是只读取头部的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 };