27. 移除元素

class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int j = 0;
        for (int i = 0; i < nums.size(); i++) {
            // 当前元素不等于val时,才执行操作
            if (nums[i] != val) {
                // 仅当i和j不相等时才进行交换
                // 这可以减少在nums[i]已经在正确位置时的不必要交换
                if (i != j) {
                    nums[j] = nums[i];
                }
                j++;
            }
        }
        return j; // 返回新的数组长度
    }
};