LeetCode:27. 移除元素

简介

题目链接:https://leetcode.cn/problems/remove-element/description/

解决方式:数组 + 双指针

这是作者学习众多大神的思路进行解题的步骤,很推荐大家解题的时候去看看题解里面大佬们的思路、想法!

推荐查看宫水三叶大佬所作题解。

双指针

解题思路:双指针,与 26 题类似,不过此处是过滤掉与指定数字相同的元素。即,一个指针迭代整个数组,找到不同的元素就放在数组前面,否则继续迭代。

java 复制代码
class Solution {
    public int removeElement(int[] nums, int val) {
        // 边界处理
        if(nums.length == 0 || nums == null){
            return 0;
        }
        // 双指针
        // p 指针存放数组中与指定值不同的数字序列的最后一位
        int p = 0;
        // 此处为增强 for 循环,相当于另一个指针,迭代整个数组
        for(int num : nums){
            if (num != val) nums[p++] = num;
        }
        // 返回结果
        return p;
    }
}
相关推荐
Darkwanderor1 天前
什么数据量适合用什么算法
c++·算法
zc.ovo1 天前
河北师范大学2026校赛题解(A,E,I)
c++·算法
py有趣1 天前
力扣热门100题之环形链表
算法·leetcode·链表
py有趣1 天前
力扣热门100题之回文链表
算法·leetcode·链表
Kk.08021 天前
数据结构|链表 刷题
数据结构·链表
月落归舟1 天前
帮你从算法的角度来认识二叉树---(二)
算法·二叉树
清华都得不到的好学生1 天前
数据结构->1.稀疏数组,2.数组队列(没有取模),3.环形队列
java·开发语言·数据结构
SilentSlot1 天前
【数据结构】Hash
数据结构·算法·哈希算法
是娇娇公主~1 天前
Lambda表达式详解
数据结构·c++