Daily Leetcode - 21. Merge Two Sorted Lists

LinkedList 刷爆 結合兩個已排序LinkedList

2023 Dec LC challenge

題目 21. Merge Two Sorted Lists

方法

My Code

方法一 iteration

 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
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
      ListNode dummy = new ListNode(-1);
      ListNode current = dummy;
      while(l1 != null && l2 != null) {
        if(l1.val < l2.val) {
            current.next = l1;
            l1 = l1.next;
        }else{
            current.next = l2;
            l2 = l2.next;
        }
        current = current.next;
      }

      if(l1 != null) {
        current.next = l1;
      } else if(l2 != null) {
        current.next = l2;
      }

      return dummy.next;

    }
}

方法二 recursion

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus