leetcode 合并两个有序列表

将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
11         if(l1==null&&l2==null){
12             return null;
13         }
14         ListNode l3 = null;
15         ListNode head = null;
16         while(l1!=null||l2!=null){
17             int temp = 0 ;
18             if(l1!=null&&l2!=null){
19                 if(l1.val<=l2.val){
20                     temp=l1.val;
21                     l1=l1.next;
22                 }else{
23                     temp=l2.val;
24                     l2=l2.next;
25                 }
26             }
27             else if(l1==null){
28                 temp=l2.val;
29                 l2=l2.next;
30             }
31             else if(l2==null){
32                 temp=l1.val;
33                 l1=l1.next;
34             }
35             ListNode next = new ListNode(temp);
36             if(l3==null){
37                 l3=next;
38                 head =l3;
39             }else{
40                 l3.next=next;
41                 l3=l3.next;
42             }
43         }
44         l3.next=null;
45         return head;
46     }
47 }

 

posted on 2019-11-19 18:51  forever_time  阅读(616)  评论(0编辑  收藏  举报