美文网首页
合并两个排序的链表

合并两个排序的链表

作者: 小明今晚加班 | 来源:发表于2019-02-27 21:54 被阅读2次

    题目
    输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

    我的Code如下:

    不使用递归方法

    /*
    public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }*/
    public class Solution {
        public ListNode Merge(ListNode list1,ListNode list2) {
            if(list1 == null || list2 == null){
                return list1==null?list2:list1;
            }
            ListNode head = null;
            ListNode cur = null;
            while(list1 != null && list2 != null){
                if(list1.val <= list2.val){
                    if(head == null){
                        head = list1;
                        cur = head;
                    }else{
                        cur.next = list1;
                        cur = cur.next;
                    }
                    list1 = list1.next;
                }else{
                    if(head == null){
                        head = list2;
                        cur = head;
                    }else{
                        cur.next = list2;
                        cur = cur.next;
                    }
                    list2 = list2.next;
                }
            }
            if(list1!=null){
                cur.next = list1;
            }
            if(list2!=null){
                cur.next = list2;
            }
            return head;
        }
    }
    

    使用递归方法

    /*
    public class ListNode {
        int val;
        ListNode next = null;
    
        ListNode(int val) {
            this.val = val;
        }
    }*/
    public class Solution {
        public ListNode Merge(ListNode list1,ListNode list2) {
            if(list1 == null || list2 == null){
                return list1==null?list2:list1;
            }
            if(list1.val <= list2.val){
                list1.next = Merge(list1.next, list2);
                return list1;
            }else{
                list2.next = Merge(list1, list2.next);
                return list2;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:合并两个排序的链表

          本文链接:https://www.haomeiwen.com/subject/kyvquqtx.html