手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

leetcode第21题合并两个有序链表

时间:2024-11-04 12:45:14

1、使用迭代法,比较两个升序子序列中当前节点值大小,并添加到前一个节点之后。遍历最后,将剩余子序列添加到新升序链表最后即可。完整实现如下图所示:

leetcode第21题合并两个有序链表

2、在程序开始,我们定义两个指针分别指向两个链表开始。定义新生成链表的头结点,以及新生成链表的最后一个元素指针,定义为p。后续比较链表中节点,添加到p之后,并重新设置p。

leetcode第21题合并两个有序链表

3、循环比较升序链表中节点值,并将其中较小值添加到p节点之后。在添加之前需要判断新生成链表是否初始化。

leetcode第21题合并两个有序链表

4、添加到新链表之后,修改新链表末尾指针p值,并同时更新对应原升序链表下一节点指针。

leetcode第21题合并两个有序链表

5、循环结束后,还需要将剩余节点添加到新生成链表最后。在这里我们还要单独处理新链表未初始化的情况,当原始升序链表中有空链表时,上面循环就不会执行。

leetcode第21题合并两个有序链表
© 手抄报圈