21. Merge Two Sorted Lists

来源:互联网 发布:软件编写入门视频 编辑:程序博客网 时间:2024/06/06 05:46

Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.


两个链表有序,返回它们的归并。

两个指针分别用于指示l1,l2中的位置,每次哪个小就选哪个,并把相应的指针推进。

public static ListNode mergeTwoLists(ListNode l1, ListNode l2){if(l1==null)return l2;if(l2==null)return l1;ListNode dummy=new ListNode(-1);ListNode p=dummy;ListNode p1=l1;ListNode p2=l2;while(p1!=null||p2!=null){if(p1==null){p.next=p2;p2=p2.next;}else if(p2==null){p.next=p1;p1=p1.next;}else {int cmp=p1.val-p2.val;if(cmp<=0){p.next=p1;p1=p1.next;}else {p.next=p2;p2=p2.next;}}p=p.next;}return dummy.next;}


0 0