【数据结构】算法 LinkList (Merge Two Sorted Lists)

时间:2023-03-09 05:50:20
【数据结构】算法 LinkList (Merge Two Sorted Lists)

合并2个有序链表

list A, list B,

Solution: 对A,B 表按序读取数据,比较大小后插入新链表C。

由于两个输入链表的长度可能不同,所以最终会有一个链表先完成插入所有元素,则直接另一个未完成的链表直接链入新链表的末尾。

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {

        ListNode dummy = new ListNode(0);
ListNode lastNode = dummy; while (l1 != null && l2 != null) {
if (l1.val < l2.val) {
lastNode.next = l1;
l1 = l1.next;
} else {
lastNode.next = l2;
l2 = l2.next;
}
lastNode = lastNode.next;
} if (l1 != null) {
lastNode.next = l1;
} else {
lastNode.next = l2;
} return dummy.next;
}