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;
    }
}
相关推荐
招摇的一半月亮7 小时前
P2242 公路维修问题
数据结构·c++·算法
赵大海7 小时前
黑马《Java架构师实战训练营 (含完整资料)》
java
不带刺仙人球7 小时前
list.stream().collect例子
java·list·dubbo
星轨初途7 小时前
数据结构排序算法详解(5)——非比较函数:计数排序(鸽巢原理)及排序算法复杂度和稳定性分析
c语言·开发语言·数据结构·经验分享·笔记·算法·排序算法
人类发明了工具7 小时前
【机器人-激光雷达】点云时间运动补偿
算法·机器人
Carve_the_Code7 小时前
分布式订单系统:订单号编码设计实战
java·后端
Home7 小时前
23种设计模式之代理模式(结构型模式二)
java·后端
程序员西西7 小时前
详细介绍Spring Boot中用到的JSON序列化技术?
java·后端
雨中飘荡的记忆7 小时前
MySQL 优化实战
java·mysql
豆豆的java之旅7 小时前
深入浅出Activity工作流:从理论到实践,让业务流转自动化
java·运维·自动化·activity·工作流