先看一下题目描述:
这道题需要合并成一个新的链表,并且也是有序的,我们需要一个新的数组来存储。
public static ListNode mergeTwoLists(ListNode L1, ListNode L2) {
ListNode dummy = new ListNode(0);
ListNode lastListNode = dummy;
while(L1!=null&L2!=null){
if(L1.val<L2.val){
lastListNode.next = L1;
L1 = L1.next;
}
else{
lastListNode.next = L2;
L2 = L2.next;
}
lastListNode = lastListNode.next;
}
if(L1!=null){
lastListNode.next = L1;
}
else{
lastListNode.next = L2;
}
return dummy.next;
}
这是非递归版本,也是比较常见好理解的版本。递归版本暂时不放,因为非常难理解链表