题目:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

解题思路:
1.new一个结果链表用来存放合并之后的结点。
2.同时遍历俩个链表,比较他们的值,值较小的尾插至结果链表。
3.当一个链表遍历结束,而另一个还没有遍历结束,就把另一个链表剩下的结点尾插到结果链表中。
public Node mergeTwoLists(Node l,Node h){
Node newHead = null;
Node last = null;
Node cur1 = l;
Node cur2 = h;
while(cur1 != null && cur2 != null){
if(cur1.val <= cur2.val){
//尾插
Node next = cur1.next;
if(newHead == null){
newHead = cur1;
}else{
last.next = cur1;
}
last = cur1;
cur1 = next;
}else{
Node next = cur2.next;
if(newHead == null){
newHead = cur2;
}else{
last.next = cur2;
}
last = cur2;
cur2 = next;
}
}//此循环结束说明有一个链表已遍历结束
//某一链表遍历结束,将剩下的链表全部尾插至结果链表
if(cur1 == null){
last.next = cur2;
}else{
last.next = cur1;
}
return newHead;
}
来源:https://blog.csdn.net/qq_43632625/article/details/102754554