绂染 发表于 昨天 07:16

剑指offer-16、合并两个有序链表

题⽬描述

输⼊两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满⾜单调不减规则。
如输⼊{1,3,5} , {2,4,6} 时,合并后的链表为{1,2,3,4,5,6} ,所以对应的输出为{1,2,3,4,5,6} ,转换过程如下图所示:

思路及解答

迭代法(双指针)

使用两个指针分别遍历两个链表,比较当前节点的值,将较小的节点连接到结果链表上。当一个链表遍历完后,将另一个链表的剩余部分直接连接到最后。
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {    // 创建哑节点作为合并后链表的头节点前驱    ListNode dummy = new ListNode(-1);    ListNode current = dummy;      while (l1 != null && l2 != null) {      if (l1.val
页: [1]
查看完整版本: 剑指offer-16、合并两个有序链表