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

JZ-016-合并两个排序的链表

作者: 醉舞经阁半卷书 | 来源:发表于2021-12-05 20:58 被阅读0次

#### 合并两个排序的链表

#### 题目描述

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

>

> **题目链接**: [合并两个排序的链表](https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&&tqId=11169&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking)

#### 代码

```java

/**

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

* 题目描述

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

* 题目链接:

* https://www.nowcoder.com/practice/d8b6b4358f774294a89de2a6ac4d9337?tpId=13&&tqId=11169&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

*/

public class Jz16 {

 

    public ListNode merge(ListNode list1, ListNode list2) {

        if (list1 == null && list2 == null) {

            return null;

        }

        if (list1 == null) {

            return list2;

        }

        if (list2 == null) {

            return list1;

        }

        ListNode result = new ListNode(-1);

        ListNode next = result;

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

            if (list1 == null) {

                next.next = list2;

                break;

            } else if (list2 == null) {

                next.next = list1;

                break;

            } else if (list1.val < list2.val) {

                next.next = list1;

                list1 = list1.next;

            } else {

                next.next = list2;

                list2 = list2.next;

            }

            next = next.next;

        }

        return result.next;

    }

    public static void main(String[] args) {

        ListNode list1 = new ListNode(1);

        list1.next = new ListNode(3);

        list1.next.next = new ListNode(5);

        ListNode list2 = new ListNode(2);

        list2.next = new ListNode(4);

        list2.next.next = new ListNode(6);

        System.out.println("after merge");

        Jz16 jz16 = new Jz16();

        ListNode result = jz16.merge(list1, list2);

        ListNode cur = result;

        while (cur != null) {

            System.out.print(cur.val + " ");

            cur = cur.next;

        }

    }

}

```

> 【每日寄语】 无论别人怎么看,我绝不打乱自己的节奏。喜欢的事自然可以坚持。

相关文章

  • 面试题25. 合并两个排序的链表

    合并两个排序的链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例: ...

  • JZ-016-合并两个排序的链表

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

  • LeetCode题解之合并两个排序的链表

    合并两个排序的链表 题目描述 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例1:...

  • 25:合并两个排序的链表

    题目25:合并两个排序的链表 输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的 举例说...

  • LeetCode 每日一题 [56] 合并两个排序的链表

    LeetCode 合并两个排序的链表 [简单] 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增...

  • leecode刷题(27)-- 合并k个排序链表

    leecode刷题(27)-- 合并k个排序链表 合并k个排序链表 合并 k 个排序链表,返回合并后的排序链表。请...

  • 剑指offer之合并两个排序的列表

    合并两个排序的列表 欢迎关注作者简书csdn传送门 题目   输入两个递增排序的链表,合并这两个链表并使新链表中的...

  • 2018-12-26

    问题列表 合并两个有序链表 合并K个排序链表 合并区间 插入区间 问题与反馈 总结与收获 多个有序链表的合并,类似...

  • 面试题25:合并两个排序的链表

    题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点依然是排序的

  • [LeetCode OJ]- Merge Two Sorted

    题目要求:合并两个单向已排序的链表l1和l2,返回新的链表。 思路:该问题跟合并两个已排序的数组很像,合并两个已排...

网友评论

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

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