这道题的做法是同时遍历两个链表,谁当前的数据小,使用尾插法把该节点插入新的链表,最后把较长的一个链表剩下的数插入链表
public Node mergeTwoLists(Node l1,Node l2){
if (l1 == null) return l2;
if (l2 == null) return l1;
Node result = null;
Node last = null;
Node cur1 = l1;
Node cur2 = l2;
while (cur1 != null && cur2 != null) {
if (cur1.val <= cur2.val) {
Node next = cur1.next;
if (result == null) {
result = cur1;
} else {
last.next = cur1;
}
last = cur1;
cur1 = next;
} else {
Node next = cur2.next;
if (result == null) {
result = cur2;
} else {
last.next = cur2;
}
last = cur2;
cur2 = next;
}
}
if (cur1 != null) {
last.next = cur1;
} else {
last.next = cur2;
}
return result;
}