全栈开发
·2025-02-12力扣 - k个有序链表重排序:
思路是 while 循环中比较每一个子链表的头选出最小的那个。
重点在于熟悉链表的概念以及创建和更新
- 理解链表和列表区别和操作:
- 列表是选中了存储中的一团数据(连续的区域),一次性拿到所有值,创建和更新都是整团整团地更新,可以通过索引随机地访问里面的值,或者批量处理。
- 链表是选中了一枚数据,只有那一个节点的值+指向下一个节点的指针,所以没办法一次性知道链表的所有值,需要 list node.next.next...value 往下访问(递归?)。这也导致头尾的增删很快(只访问一枚数据),而且在存储中是游离分布的。
- 新建虚拟头部 dummy,返回时返回 dummy.next(),就把头部去掉了。
- current = dummy 后,这两个都指向同一个“实际”节点(dummy),current.next 会让 dummy.next 同步变化。
- current 的更新,使其始终代表最末端节点,current = current.next。
4
0
分享
操作
评论
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
