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

LeetCode 分类刷题:2487. 从链表中移除节点

题目

给你一个链表的头节点 head 。

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

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

解析

我的思路过程:

    // 记录右侧最大值
// 大于当前值则删除当前节点

    // 反转链表
// 记录遍历到该节点时的最大值(可以只用一个值)
// 如果不是本身,则右侧有最大值,删掉该节点(头节点肯定不会被删)

    // 如果下个节点的值小于当前节点,则删除下一个节点(循环删除)
// 再反转回来

答案

/*** Definition for singly-linked list.* function ListNode(val, next) {*     this.val = (val===undefined ? 0 : val)*     this.next = (next===undefined ? null : next)* }*/
/*** @param {ListNode} head* @return {ListNode}*/
function reverseList(head) {let pre = null;let cur = head;while(cur) {const nxt = cur.next;cur.next = pre;pre = cur;cur = nxt;}return pre;
}
var removeNodes = function(head) {const head2 = reverseList(head);let cur = head2;while(cur.next) {if(cur.val > cur.next.val) {cur.next = cur.next.next;} else {cur = cur.next;}}return reverseList(head2);
};

复杂度分析

时间复杂度:O(n)

空间复杂度:O(1)

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

相关文章:

  • spring1
  • 注册网站地址中国建筑一局
  • 视频剪辑教程自学网站为什么用php做网站
  • 百度统计怎么添加网站设置方法
  • C++98 标准详解:C++的首次标准化
  • 哪家专门做特卖的网站阳谷网站建设电话
  • RFSOC配置QSPI+EMMC启动 petalinux记录
  • Win11右键菜单如何把“显示更多选项“中的内容改为默认展示出来
  • 网站一键提交网站开发培训训
  • 网站模板插件网站现在用h5做的吗
  • 免费微网站开发网站建设维护是啥意思
  • 温州网站建设公司有哪些房产信息网准确吗
  • 免费建公司网站的攻略乐陵seo网站优化
  • 网站推广需求刷单类网站开发
  • 中国建设银行邀约提额网站如何制作私人网站
  • 【Linux日新月异(五)】CentOS 7防火墙深度解析:firewalld全面指南
  • 广州建设工程质量安全网站东莞互联网
  • C语言编译程序的工作原理与优化技巧 | 探索C语言编译过程中的核心技术
  • AlphaSteer: Learning Refusal Steering with Principled Null-Space Constraint
  • [c++]赋值运算符重载
  • 正负反馈的判别
  • 怎么自己建一个网站最有效的恶意点击
  • 专业的高端企业网站一起看在线观看免费
  • 【Git】2025全图文详解安装教程
  • 松江手机网站开发南阳网站推广排名
  • 关于网站设计的书籍哈尔滨网站制作软件
  • 好用的wordpress谷歌推广优化
  • 玄武网站制作收费报价东莞房产网
  • 九州建网站厦门seo排名公司
  • 浦江县建设局网站网站模板如何修改