public static Node mergeTwoLists(Node list1, Node list2) {
//. 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的
if(list1==null){
return list2;
}
if(list2==null){
return list1;
}
SingleLinkedList.Node newHead=new SingleLinkedList.Node(-1);
SingleLinkedList.Node tmp=newHead;
while(list1!=null&&list2!=null){
if(list1.value<list2.value){
tmp.next=list1;
list1=list1.next;
}
else {
tmp.next=list2;
list2=list2.next;
}
tmp=tmp.next;
}
if(list1==null){
tmp.next=list2;
}
if(list2==null){
tmp.next=list1;
}
newHead=newHead.next;
return newHead;
}