移除元素——leetcode[1]

思路:

  1. 左指针从0,右指针从尾开始
  2. 循环结束条件:left <= right
  3. 处理过程:
  • 左指针的值等于val,右指针的值覆盖上来,右指针--;【此处,右指针覆盖上来的值可能也等于val,所以left还不能++,加了就意味着忽略了要移除的值】

  • 不等于val,左指针右移

  • 最后返回左指针

代码:

java 复制代码
class Solution{
    public int removeElement(int[] nums, int val){
        int left = 0;
        int right = nums.length -1;
        while(left <= right){
            if(nums[left] == val){
                nums[left] = nums[right];
                right--;
            }
            else{
                left++;
            }
        }
        return left;
    }
}
相关推荐
散峰而望14 小时前
C++数组(三)(算法竞赛)
开发语言·c++·算法·github
q***952214 小时前
SpringMVC 请求参数接收
前端·javascript·算法
初级炼丹师(爱说实话版)14 小时前
多进程与多线程的优缺点及适用场景总结
算法
hetao173383714 小时前
2025-11-25~26 hetao1733837的刷题记录
c++·算法
历程里程碑15 小时前
各种排序法大全
c语言·数据结构·笔记·算法·排序算法
少许极端15 小时前
算法奇妙屋(十四)-简单多状态dp问题
算法·动态规划·图解算法·简单多状态dp·打家劫舍问题·买卖股票问题全解
2301_8234380215 小时前
解析论文《复杂海上救援环境中无人机群的双阶段协作路径规划与任务分配》
人工智能·算法·无人机
embrace9916 小时前
【C语言学习】结构体详解
android·c语言·开发语言·数据结构·学习·算法·青少年编程
Ayanami_Reii16 小时前
基础数学算法-开关问题
数学·算法·高斯消元
稚辉君.MCA_P8_Java16 小时前
通义 Go 语言实现的插入排序(Insertion Sort)
数据结构·后端·算法·架构·golang