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;
    }
}
相关推荐
野蛮人6号15 小时前
力扣热题100道之78子集
算法·leetcode·职场和发展
雨中飘荡的记忆16 小时前
拼团系统设计与实现
java·spring boot
青云交16 小时前
Java 大视界 -- Java 大数据在智能医疗影像数据标注与疾病辅助诊断模型训练中的应用
java·大数据·多模态融合·医疗影像标注·辅助诊断·临床 ai·dicom 处理
雨中飘荡的记忆16 小时前
Step Builder模式实战
java·设计模式
悦来客栈的老板16 小时前
AST反混淆实战|reese84_jsvmp反编译前的优化处理
java·前端·javascript·数据库·算法
悟空码字16 小时前
SpringBoot实现日志系统,Bug现形记
java·spring boot·后端
iナナ16 小时前
Java自定义协议的发布订阅式消息队列(二)
java·开发语言·jvm·学习·spring·消息队列
狂奔小菜鸡16 小时前
Day24 | Java泛型通配符与边界解析
java·后端·java ee
dragoooon3416 小时前
[优选算法专题十一.字符串 ——NO.60~63 最长公共前缀、5最长回文子串、 二进制求和 、字符串相乘]
算法·leetcode·动态规划
lengxuenong16 小时前
第四届挑战赛二轮题解
c++·算法