给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。
    [3,2,2,4]
    3
    思路: 双指针法

    没有val,就一直快的给慢的赋值,如果有相等的,就不要给慢指针赋值了。也就相当于删除了val。

    1. class Solution {
    2. public:
    3. // 双指针法,一快 一慢,相等的时候慢的指针不走。
    4. int removeElement(vector<int>& nums, int val) {
    5. int slow = 0;
    6. int fast = 0;
    7. for (; fast < nums.size(); fast++) {
    8. if (nums[fast] != val) {
    9. nums[slow] = nums[fast];
    10. slow++;
    11. }
    12. }
    13. return slow;
    14. }
    15. };