
难度:Easy
解题思路:使用两个迭代器一个指向已经处理过的末尾,另一个指向未处理过的首部。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
class Solution { public: int removeElement(vector<int>& nums, int val) { auto solved_it = nums.begin(); auto unsolved_it = nums.begin(); for(;unsolved_it != nums.end(); unsolved_it++){ if(*unsolved_it != val){ swap(*(solved_it++), *unsolved_it); } } return solved_it-nums.begin(); } };
|
代码结果:3ms,超过23.02%。
近期评论