leetcode-27-数组题-移除元素 发表于 2020-03-03 | 分类于 数据结构与算法 题目 解法12345678910111213141516171819202122232425262728293031323334353637class Solution {public: // 双指针 int removeElement(vector<int>& nums, int val) { int n = nums.size(); if(n == 0) return 0; int i = 0; for(int j = 0; j < n; ++j){ if(nums[j] != val){ nums[i++] = nums[j]; } } return i; } // 双指针-移除元素很少时,避免重复对不需要删除的元素赋值 int removeElement(vector<int>& nums, int val) { int n = nums.size(); if(n == 0) return 0; int i = 0; while(i < n){ if(nums[i] == val){ nums[i] = nums[n-1]; --n; }else{ ++i; } } return n; }};