合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例:
1 2
| 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4
|
代码:
100%89%
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode head=null; ListNode ln=null; ListNode temp; for(;;) { if(l1==null||l2==null)break; if(l1.val>=l2.val) { temp=new ListNode(l2.val);
if(head==null){ln=temp;head=ln;} else { ln.next=temp; ln=ln.next; } l2=l2.next; } else{ temp=new ListNode(l1.val);
if(head==null){ln=temp;head=ln;} else { ln.next=temp; ln=ln.next; } l1=l1.next; } } if(head==null) { head=l1==null?l2:l1; } else { ln.next=l1==null?l2:l1; } return head; } }
|