2487. 从链表中移除节点 --力扣 --JAVA

简介: 给你一个链表的头节点 head 。移除每个右侧有一个更大数值的节点。返回修改后链表的头节点 head 。

 题目

给你一个链表的头节点 head

移除每个右侧有一个更大数值的节点。

返回修改后链表的头节点 head 

解题思路

    1. 移除每个右侧有一个更大数值的节点,所以可以利用深度遍历,从后往前进行比较;
    2. 创建变量max来表示当前右侧的最大值;
    3. 将最后节点的值赋值给max;
    4. 若当前节点的值小于当前节点则移除,否则修改max为当前节点的值,链表是单向的,直接移除当前节点不好移除,可以将下个节点的值和next赋值给当前节点,即用下个节点取代当前节点。

    代码展示

    class Solution {
        private int max = 0;
        public ListNode removeNodes(ListNode head) {
            dfs(head);
            return head;
        }
        private void dfs(ListNode root){
            if(root == null){
                return;
            }
            dfs(root.next);
            if(root.val < max){
                root.val = root.next.val;
                root.next = root.next.next;
            } else {
                max = root.val;
            }
        }
    }

    image.gif


    目录
    相关文章
    |
    3月前
    【力扣】-- 移除链表元素
    【力扣】-- 移除链表元素
    40 1
    |
    2月前
    |
    分布式计算 Java MaxCompute
    ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
    任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
    |
    3月前
    |
    分布式计算 资源调度 Hadoop
    大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
    大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
    100 4
    |
    3月前
    LeetCode第二十四题(两两交换链表中的节点)
    这篇文章介绍了LeetCode第24题的解法,即如何通过使用三个指针(preNode, curNode, curNextNode)来两两交换链表中的节点,并提供了详细的代码实现。
    30 0
    LeetCode第二十四题(两两交换链表中的节点)
    |
    3月前
    Leetcode第十九题(删除链表的倒数第N个节点)
    LeetCode第19题要求删除链表的倒数第N个节点,可以通过快慢指针法在一次遍历中实现。
    47 0
    Leetcode第十九题(删除链表的倒数第N个节点)
    |
    3月前
    |
    分布式计算 Java Hadoop
    Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
    Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
    76 1
    |
    3月前
    (剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
    (剑指offer)18、删除链表的节点—22、链表中倒数第K个节点—25、合并两个排序的链表—52、两个链表的第一个公共节点(2021.12.07)
    56 0
    |
    3月前
    |
    索引
    力扣(LeetCode)数据结构练习题(3)------链表
    力扣(LeetCode)数据结构练习题(3)------链表
    102 0
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(二)
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(每行代码都有注释嗷)
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(二)
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(一)
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(每行代码都有注释嗷)
    【Java数据结构】经典链表OJ题——超详细做题笔记及心得(一)