- 题目传入的是无头结点的有序单链表,为了方便操作,搞个头节点先
- 用传入的两个引用遍历传入的表,遍历过程中比较,将较小的节点尾插到解答链
- 大概率不会同时处理完,剩下的那条链可以直接接在尾部
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
if( l1 == null ){
return l2;
}else if(l2 == null){
return l1;
}
ListNode ans = new ListNode();
ListNode rear = ans;
while( l1!=null && l2!=null){
if(l1.getVal() < l2.getVal()){
rear.setNext(l1);
l1 = l1.getNext();
}else{
rear.setNext(l2);
l2 = l2.getNext();
}
rear = rear.getNext();
}
if(l1 ==null){
l1 = l2;
}
rear.setNext(l1);
return ans.getNext();
}