找回密码
 立即注册
首页 业界区 安全 剑指offer-16、合并两个有序链表

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

绂染 昨天 07:16
题⽬描述

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

思路及解答

迭代法(双指针)

使用两个指针分别遍历两个链表,比较当前节点的值,将较小的节点连接到结果链表上。当一个链表遍历完后,将另一个链表的剩余部分直接连接到最后。
[code]public ListNode mergeTwoLists(ListNode l1, ListNode l2) {    // 创建哑节点作为合并后链表的头节点前驱    ListNode dummy = new ListNode(-1);    ListNode current = dummy;        while (l1 != null && l2 != null) {        if (l1.val
您需要登录后才可以回帖 登录 | 立即注册