合并两个排序的链表
问题陈述
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4
输出:1->1->2->3->4->4
限制:0 <= 链表长度 <= 1000
思路分析
代码实现
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
| public class Merge_Two_Linklist { public ListNode mergeTwoLinklists(ListNode l1,ListNode l2){ if(l1==null) return l2; if(l2==null) return l1;
ListNode mergeLink_head=new ListNode(0); ListNode mergeNode=mergeLink_head; while (l1!=null&&l2!=null){ if(l1.val<=l2.val){ mergeNode.next=l1; l1=l1.next; }else { mergeNode.next=l2; l2=l2.next; } mergeNode=mergeNode.next; } mergeNode.next=l1==null?l2:l1; return mergeLink_head.next; } public static void main(String[] args){ ListNode l1=new ListNode(3); l1.next=new ListNode(6); l1.next.next=new ListNode(9); ListNode l2=new ListNode(2); l2.next=new ListNode(5); l2.next.next=new ListNode(8); Merge_Two_Linklist merge_two_linklist=new Merge_Two_Linklist(); merge_two_linklist.mergeTwoLinklists(l1,l2); } }
|