题目描述
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 1:

1 2
   | 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4]
   | 
 
示例 2:
示例 3:
提示:
- 两个链表的节点数目范围是 
[0, 50] 
-100 <= Node.val <= 100 
l1 和 l2 均按 非递减顺序 排列 
题目思路
Java
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 42 43 44 45 46 47 48 49 50 51 52
   | 
 
 
 
 
 
 
 
 
  class Solution {     public ListNode mergeTwoLists(ListNode list1, ListNode list2) {         if (list1 == null && list2 == null) {             return null;         }         if (list1 == null) {             return list2;         }         if (list2 == null) {             return list1;         }                  ListNode res = list1;         if (list1.val <= list2.val) {             res = list1;             list1 = list1.next;         } else {             res = list2;             list2 = list2.next;         }         ListNode temp = res;         while (list1 != null || list2 != null) {             if (list1 != null && list2 != null) {                 if (list1.val <= list2.val) {                     res.next = list1;                     list1 = list1.next;                 } else {                     res.next = list2;                     list2 = list2.next;                 }             } else if (list1 == null && list2 != null) {                 res.next = list2;                 list2 = list2.next;             } else if (list1 != null && list2 == null) {                 res.next = list1;                 list1 = list1.next;             }             res = res.next;         }         return temp;     } }
 
  |