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

代码随想录算法训练营--打卡day4

一.移除链表元素

1.题目链接

203. 移除链表元素 - 力扣(LeetCode)

2.思路

通过 while 循环来遍历链表,只要 cur 的下一个节点不为空,就继续循环。在循环中,对 cur 的下一个节点的值进行判断:

 
  • 值不等于 val 的情况:如果 cur.next.val 不等于 val,说明当前 cur 的下一个节点不需要移除,那么将 cur 指针向后移动一位,即 cur = cur.next,继续检查后续节点。
  • 值等于 val 的情况:如果 cur.next.val 等于 val,说明当前 cur 的下一个节点是需要移除的目标节点。此时,将 cur 的 next 指针直接指向 cur.next.next,这样就跳过了值为 val 的节点,从而将其从链表中移除。在移除节点后,cur 指针不需要移动,因为下一个新的节点还没有被检查,需要继续在当前位置进行判断。

3.代码

class Solution {
    public ListNode removeElements(ListNode head, int val) {
        ListNode dummy=new ListNode(0);
        dummy.next=head;
        ListNode cur=dummy;
        while(cur.next!=null){
            if(cur.next.val!=val){
                cur=cur.next;
            }else{
                cur.next=cur.next.next;
            }
        }
        return dummy.next;
    }
}

二.反转链表

1.题目链接

206. 反转链表 - 力扣(LeetCode)

3.代码

class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode pre=null;
        ListNode cur=head;
        while(cur!=null){
           ListNode cur_next=cur.next;
           cur.next=pre;
           pre=cur;
           cur=cur_next;
        }
        return pre;
       
    }
}

http://www.dtcms.com/a/98544.html

相关文章:

  • windows第二十章 单文档应用程序
  • 基于大语言模型的智能音乐创作系统——从推荐到生成
  • Jenkins教程(自动化部署)
  • 纯个人整理,蓝桥杯使用的算法模板day1(dfs、bfs)
  • Axure疑难杂症:完美解决中继器筛选问题(时间条件筛选、任性筛选)
  • 信号与系统(郑君里)第一章-绪论 1-22 课后习题解答
  • jdk 支持路线图
  • gamma函数与zeta函数的关系
  • 【大数据技术】大数据技术概念及概述
  • QT音乐播放器(1):数据库保存歌曲
  • Vue Kubernetes项目 局部布局面包屑 el-breadcrumb
  • Matlab教程004:Matlab矩阵的拼接重构重排以及矩阵的运算
  • 测试测试 测试
  • Kubernetes》k8s》Containerd 、ctr 、cri、crictl
  • 每日一题 MySQL基础知识----(四)
  • Java 大视界 -- Java 大数据机器学习模型在电商商品推荐冷启动问题中的解决策略(160)
  • [Python学习日记-88] 并发编程之多进程 —— 队列与生产者消费者模型
  • 赛博威智慧导购平台,融合AI激活一线导购效能,破局增长瓶颈
  • 目标识别与双目测距(1)环境搭建:Ubuntu+yolov5+pcl库
  • JAVA学习*工厂模式
  • Python容器详解:从字符串到字典的完整指南
  • CPT204 Advanced Obejct-Oriented Programming 高级面向对象编程 Pt.4 泛型
  • 4.训练篇2-毕设篇
  • Share01-WinCC文件越用越大?
  • 【学习笔记】文件上传漏洞--js验证、mime验证、.user.ini、短标签、过滤、文件头
  • 大数据Spark(五十五):Spark框架及特点
  • Leetcode 两数相除
  • 海量数据处理
  • 下载和初步上手Vue3路由
  • NOIP2007提高组.矩阵取数游戏