Leetcode 移除元素

使用双指针来解决此问题,一个遍历指针 i,一个 k 指针,k 指针初始从第一个元素开始,当遇到当前数组元素 nums[i] 不等于 val 时,我们就把 nums[i] 挪到 k 指针的位置上,然后 k 右移一位。

java 代码

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        int k = 0;

        for(int i = 0; i < nums.length; ++i) {
            if(nums[i] != val) {
                nums[k++] = nums[i];
            }
        }
        return k;
    }
}
相关推荐
SimonKing7 分钟前
局域网内跨平台传文件,没有比LocalSend更方便的了
java·后端·程序员
闻缺陷则喜何志丹8 分钟前
【二分查找】P9822 [ICPC2020 Shanghai R] Walker【有误差】|普及
开发语言·算法·r语言
超级小龙虾8 分钟前
VS Code 本身没有内置像 IntelliJ IDEA 那样的完整书签(Bookmarks)
java
橘颂TA8 分钟前
【剑斩OFFER】算法的暴力美学——K 个一组翻转链表
c++·算法·力扣·结构与算法
一起养小猫11 分钟前
LeetCode100天Day11-两数之和与合并两个有序数组
数据结构·算法·leetcode
venus6013 分钟前
上海计算机学会2025年8月月赛丙组T1镜像加密题解
开发语言·c++·算法
万物挽挽19 分钟前
单例模式的优点和缺点分别是什么?
java
Katherine_lin19 分钟前
基于Spring Boot的抽奖系统测试报告
java·spring boot·后端
C_lea20 分钟前
Java多线程学习(一)
java·学习
萧曵 丶22 分钟前
Java 线程池优化
java·开发语言