package com.fishercoder.solutions;

import com.fishercoder.common.classes.ListNode;

/**
 * 21. Merge Two Sorted Lists
 *
 * 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.*/

public class _21 {
    public static class Solution1 {
        public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
            if (l1 == null) {
                return l2;
            }
            if (l2 == null) {
                return l1;
            }
            if (l1.val < l2.val) {
                l1.next = mergeTwoLists(l1.next, l2);
                return l1;
            } else {
                l2.next = mergeTwoLists(l1, l2.next);
                return l2;
            }
        }
    }

}

@@ -266,66 +266,248 @@
 sts.
-*/%0A%0Apublic class _21 %7B%0A    public static class Solution1 %7B
+%0A *%0A * Example:%0A * Input: 1-%3E2-%3E4, 1-%3E3-%3E4%0A * Output: 1-%3E1-%3E2-%3E3-%3E4-%3E4%0A *%0A * */%0A%0Apublic class _21 %7B%0A    public static class Solution1 %7B%0A        /**%0A         * recursive solution%0A         * Time: O(m+n)%0A         * Space: O(m+n)%0A         * */
 %0A   

refactor 21