27. Remove Element


做题历程:

  1. 应该不止2次做了,耗时5分钟独立解出

总体来讲,本题还是比较简单的,基本思路就是用双指针,分别从左边和右边扫描即可。。 不多说了,直接上代码。 代码如下:


class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int left_ptr = 0;
        int right_ptr = nums.size() - 1;
        while (left_ptr <= right_ptr) {
            if (nums[left_ptr] == val) {
                swap(nums[left_ptr], nums[right_ptr--]);
            }
            else {
                ++left_ptr;
            }
        }
        return right_ptr + 1;
    }
};

results matching ""

    No results matching ""