Leetcode 移除元素

使用双指针来解决此问题,一个遍历指针 i,一个 k 指针,k 指针初始从第一个元素开始,当遇到当前数组元素 numsi 不等于 val 时,我们就把 numsi 挪到 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;
    }
}
相关推荐
菜菜的顾清寒19 小时前
力扣HOT100(44)对称二叉树
数据结构·算法·leetcode
吃好睡好便好19 小时前
矩阵的左乘和右乘
人工智能·学习·线性代数·算法·matlab·矩阵
我命由我1234519 小时前
SEO 与 GEO 极简理解
java·linux·运维·开发语言·学习·算法·运维开发
金銀銅鐵19 小时前
[Java] 自己写程序,来解析方法的 descriptor
java·后端
红辣椒...19 小时前
codex+第三方模型
java·服务器·前端
月光刺眼19 小时前
🎶二分 · 双指针 · 滑动窗口 · 螺旋矩阵:数组算法四题拆解
javascript·算法
一个做软件开发的牛马19 小时前
Java 继承与多态:从"是什么"到"能做什么"的设计思维
java·后端
海清河晏11120 小时前
字符串匹配:BF算法与KMP算法
数据结构·算法·visual studio
不懂的浪漫20 小时前
05|Netty ByteBuf 源码分析:为什么不用 Java ByteBuffer
java·netty
学计算机的计算基20 小时前
LeetCode刷题笔记:数组专题四连击(LC53/56/189/41)
笔记·leetcode·排序算法