题目:

解决方法:
public ListNode mergeTwoLists (ListNode l1, ListNode l2) {
// write code here
ListNode dummy = new ListNode(-1);
ListNode pre = dummy;
while(l1!=null&&l2!=null){
if(l1.val<l2.val){
ListNode next = l1.next;
pre.next = l1;
pre = l1;
pre.next = null;
l1 = next;
}
else{
ListNode next = l2.next;
pre.next = l2;
pre = l2;
pre.next = null;
l2 = next;
}
}
if(l1==null)
l1 = l2;
pre.next = l1;
return dummy.next;
}
该博客介绍了一种方法来合并两个已排序的链表。通过创建一个虚拟头节点`dummy`和指针`pre`,在遍历两个链表的同时比较节点值,将较小值的节点插入到结果链表中,直到其中一个链表为空。最后,将非空链表的剩余部分连接到结果链表的末尾。这种方法确保了合并后的链表仍然有序。
1771

被折叠的 条评论
为什么被折叠?



