问题: 合并两个有序链表,返回合并后的有序链表头。不允许利用额外的线性存储空间。
思路: 申请一个新节点,比较两链表表头,将两链表串在新节点后。
java代码:
ListNode mergeTwoList(ListNode l1,ListNode l2){
ListNode dummy=new ListNode(0);
ListNode cur=dummy;
while(l1!=null&&l2!=null){
if(l1.val<=l2.val){
cur.next=l1;
l1=l1.next;
}
else{
cur.next=l2;
l2=l2.next;
}
cur=cur.next;
}
if(l1!=null){
cur.next=l1;
}
else{
cur.next=l2;
}
return dummy.next;
}