力扣移除元素C++

题目


知识点


思路

双指针

栈------灵茶山艾府

并没有真正的使用栈,而是将 nums\[\] 数组看作一个栈,基于范围的for循环进行入栈操作


错误

判空

循环条件

要考虑 left = right 的情况


题解

自己双指针

cpp 复制代码
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        if(nums.size() == 0){
            return 0;
        }
        int left = 0, right = nums.size() - 1;
        while (left <= right) {
            if (nums[left] == val) {
                nums[left] = nums[right];
                right--;
            }
            else {
                left++;
            }
        }
        return left;
    }
};

灵茶山艾府

cpp 复制代码
class Solution {
public:
    int removeElement(vector<int>& nums, int val) {
        int stack_size = 0;
        for (int x : nums) {
            if (x != val) {
                nums[stack_size++] = x; // 把 x 入栈
            }
        }
        return stack_size;
    }
};
相关推荐
彧azz24 分钟前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
Beyond_System|系统之外1 小时前
【学编程】Python基础编程题100道(21-60)
开发语言·python·算法
景熙55232 小时前
15.Java 8 Stream 流入门到实战
java·开发语言·数据结构
汉克老师2 小时前
GESP2026年9月认证C++六级( 第三部分编程题(1、数组划分))精讲
c++·gesp·小学生·学c++编程
千里码aicood3 小时前
基于PLC与机器视觉的智能分拣控制系统设计
c++·自动化·plc
漂流瓶jz3 小时前
UVA-1442 洞穴 题解答案代码 算法竞赛入门经典第二版
c++·算法·题解·aoapc·算法竞赛入门经典·uva
圣保罗的大教堂3 小时前
leetcode 835. 图像重叠 中等
leetcode
朽棘不雕3 小时前
进一步了解模板
c++
叠层归一研究院4 小时前
基于极限自指的叠层归一宇宙结构理论——无元外部封闭系统的内生区分模型
人工智能·经验分享·算法·agi
Selvaggia5 小时前
Diffusion Model 的基本原理与模型架构
算法