C++零基础算法100题 - 移除元素

76 阅读1分钟

题目链接: leetcode.cn/problems/re…

题目描述

image.png

步骤详解

  1. 我们得到一个数组和一个要删除的元素
  2. 我们将这个数组遍历一遍如果收nums[i]为要删除的元素
  3. 从i到size我们都重新覆盖一遍。将nums[i]覆盖掉
  4. 返回size

代码实现

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int size=nums.size();
        for(int i=0;i<size;i++){
            if(nums[i]==val){
                for(int j=i;j<size-1;j++){
                    nums[j]=nums[j+1];
                }
                i--;
                size--;
            }
        }
        return size;
    }
};