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;
    }
}
相关推荐
刃神太酷啦几秒前
C++ 多态详解:从概念到实现原理----《Hello C++ Wrold!》(14)--(C/C++)
java·c语言·c++·qt·算法·leetcode·面试
DoraBigHead14 分钟前
小哆啦解题记 · 数字连续段谜案
算法
wjm04100625 分钟前
C++后端面试八股文
java·c++·面试
都叫我大帅哥25 分钟前
📉 MySQL索引罢工事件簿:揭秘失效原因与优化起义方案
java·mysql
Seven9733 分钟前
剑指offer-11、⼆进制中1的个数
java
you秀1 小时前
K8S中的dns要如何指定??给pod中增加hosts映射,来规避dns冲突问题
java·容器·kubernetes
✿ ༺ ོIT技术༻1 小时前
剑指offer第2版:链表系列
数据结构·算法·链表
Code季风1 小时前
深度优化 spring 性能:从缓存、延迟加载到并发控制的实战指南
java·spring boot·后端·spring·缓存·性能优化
风象南1 小时前
SpringBoot自定义RestTemplate的拦截器链
java·spring boot·后端