剑指Offer25:合并2个排序的链表

链表l1排序,链表l2也是排序的,将2个链表按递增的序列排成一个新链表。

思路:如果l1,为空返回l2,  l2为空,返回l1,   l1,l2都为空,直接返回null

l1,l2都不为空,排列.

  class ListNode {

        int value;

        ListNode next;

        public ListNode(int value) {
            this.value = value;
        }

    }

    ListNode Merge(ListNode l1,ListNode l2){

        if(l1 ==null){

            return l2;
        }

        if(l2==null){

            return l1;
        }

        ListNode pMeHead = null;


        if(l1.value<l2.value){

            pMeHead = l1;

            pMeHead.next = Merge(l1.next,l2);

        }else{

            pMeHead = l2;

            pMeHead.next = Merge(l1,l2.next);

        }

        return pMeHead;
    }

先比较l1,l2开头的谁小,谁小取谁的值,再连接头节点。

代码:

猜你喜欢

转载自blog.csdn.net/weixin_39137699/article/details/89423496