当前位置: 首页 > article >正文

力扣-链表-203 移除链表元素

思路1

处理头节点,然后遍历下一个节点,只有确保下一个节点不是要移除的节点时再跳到下一个节点

代码1

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        while(head != nullptr && head->val == val){
            head = head->next;
        }
        ListNode* front = head;

        while(front != nullptr &&front->next != nullptr){
            if(front->next!=nullptr && front->next->val == val){
                front->next = front->next->next;
            }else
                front = front->next;
        }

        return head;
    }
};

思路2

设置空白头节点,这样不用单独处理头节点

代码2

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode* bankNode = new ListNode();
        bankNode->next = head;
        ListNode* cur = bankNode;

        while(cur->next != nullptr){
            if(cur->next->val == val){
                cur->next = cur->next->next;
            }else
                cur = cur->next;
        }

        return bankNode->next;
    }
};


http://www.kler.cn/a/520672.html

相关文章:

  • 目标跟踪之sort算法(3)
  • golang通过AutoMigrate方法自动创建table详解
  • Vue.js 传递路由参数和查询参数
  • 最新-CentOS 7安装1 Panel Linux 服务器运维管理面板
  • Vue.js组件开发-实现对视频预览
  • 15天基础内容-5
  • 大模型训练策略与架构优化实践指南
  • ES6+新特性,var、let 和 const 的区别
  • 分布式系统学习10:分布式事务
  • 学习std::is_base_of笔记
  • 可以称之为“yyds”的物联网开源框架有哪几个?
  • [java] 集合-ArrayList篇
  • Rust:Rhai脚本编程示例
  • 设计模式Python版 原型模式
  • 【Validator】字段验证器介绍,及基本使用go案例
  • MongoDB中的横向扩容数据分片
  • STM32完全学习——RT-thread在STM32F407上移植
  • Spring无法解决的循环依赖
  • 通义灵码插件保姆级教学-IDEA(安装及使用)
  • 重构开源LLM分类:从二分到三分的转变
  • 【数据结构】_链表经典算法OJ(力扣版)
  • Mysql主从复制+MHA实验笔记[特殊字符]
  • git的理解与使用
  • HarmonyOS简介:高效开发与测试
  • 三维网格处理开源软件meshlab源码编译
  • 1.23 补题 寒假训练营