美文网首页
剑指Offer(四)

剑指Offer(四)

作者: 管弦_ | 来源:发表于2017-05-02 15:19 被阅读0次

题目十六:合并两个排序的链表

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

解题思路:
递归版本

    public ListNode Merge(ListNode list1,ListNode list2) {

        if (list1 == null) {
            return list2;
        }

        if (list2 == null) {
            return list1;
        }

        if(list1.val <= list2.val){
            list1.next = Merge(list1.next, list2);
            return list1;
        }else{
            list2.next = Merge(list1, list2.next);
            return list2;
        }
    }

非递归版本

     public ListNode Merge(ListNode list1,ListNode list2) {

        if (list1 == null) {
            return list2;
        }

        if (list2 == null) {
            return list1;
        }

        ListNode mergeHead = null;
        ListNode current = null;

        while (list1 != null && list2 != null) {

            if (list1.val <= list2.val) {

                if (mergeHead == null) {
                    mergeHead = current = list1;
                } else {
                    current.next = list1;
                    current = current.next;
                }
                list1 = list1.next;

            } else {

                if (mergeHead == null) {
                    mergeHead = current = list2;
                } else {
                    current.next = list2;
                    current = current.next;
                }
                list2 = list2.next;

            }

        }

        if (list1 == null) {
            current.next = list2;
        } else if (list2 == null) {
            current.next = list1;
        }

        return mergeHead;
    }

相关文章

  • 全网最全剑指offer题目解答

    【剑指offer】Java版代码(完整版) 【剑指offer】1-10题 【剑指offer】11-20题 【剑指o...

  • 剑指Offer(四)

    题目十六:合并两个排序的链表 题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表...

  • 剑指offer(四)

    剑指offer(四) 面试题四十:数组中只出现1次的数字 题目:一个整形数组里除了两个数字之外,其他的数字都出现了...

  • 剑指Offer(四)

    题目汇总31.栈的压入、弹出序列(中等),本题考查举例让抽象具体化32.从上往下打印二叉树(中等),本题考查举例让...

  • 剑指Offer(四)

    剑指Offer(四) 重建二叉树 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的...

  • 剑指offer 和 leetcode题目

    剑指offer leetcode

  • 算法 | 一周刷完《剑指Offer》 Day4:第38~49题

    写在前面 本系列包含《剑指Offer》66道算法题,预计一周刷完,这是第四篇。系列汇总:剑指Offer 66题 J...

  • 单例模式

    单例模式 最近在看《剑指offer》,根据《剑指offer》的讲解,结合《effectiveJava》简单学习了一...

  • 年龄排序

    摘抄资料:《剑指offer》

  • 剑指offer

    第一题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,...

网友评论

      本文标题:剑指Offer(四)

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