Skip to content
On this page

2487. 从链表中移除节点

原题链接:LeetCode 2487. 从链表中移除节点

题目描述

给你一个链表的头节点 head

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

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

示例 1:

  • 输入: head = [5,2,13,3,8]
  • 输出: [13,8]
  • 解释: 需要移除的节点是 5 ,2 和 3 。
  • 节点 13 在节点 5 右侧。
  • 节点 13 在节点 2 右侧。
  • 节点 8 在节点 3 右侧。

示例 2:

  • 输入: head = [1,1,1,1]
  • 输出: [1,1,1,1]
  • 解释: 每个节点的值都是 1 ,所以没有需要移除的节点。

提示:

  • 给定列表中的节点数目在范围 [1, 105]
  • 1 <= Node.val <= 105

难度: Medium


题解代码

javascript
var removeNodes = function (head) {
  if (!head || !head.next) return head
  const node = removeNodes(head.next)
  if (node.val > head.val) return node
  head.next = node
  return head
}

技术文档集合