将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:
参考:力扣
临时数组储存一个结果
比较两者小者加入链表
注意:两链表长度不一情况需讨论
class Solution {
public ListNode mergeTwoLists(ListNode list1, ListNode list2) {
ListNode dummy=new ListNode(0),temp=dummy;
while(list1!=null&&list2!=null){
int val1=list1.val,val2=list2.val;
if(val1>val2){
temp.next=list2;
list2=list2.next;
}else{
temp.next=list1;
list1=list1.next;
}
temp=temp.next;
}
while(list1!=null){
temp.next=list1;
list1=list1.next;
temp=temp.next;
}
while(list2!=null){
temp.next=list2;
list2=list2.next;
temp=temp.next;
}
return dummy.next;
}
}