美文网首页
21. 合并两个有序链表

21. 合并两个有序链表

作者: Jason_Shu | 来源:发表于2019-02-26 14:44 被阅读0次

题目链接:https://leetcode-cn.com/problems/merge-two-sorted-lists/

思路:新建一个链表,然后用两个指针依次遍历原来的两个链表,比较大小后放入新链表中。

var mergeTwoLists = function(l1, l2) {
    let p = l1;
    let q = l2;
    // 新建一个链表的头结点
    let k = new ListNode(0);
    let r = k; // 标记起始节点
    
    while(p !== null && q !== null) {
        if(p.val < q.val) {
            k.next = p;
            p = p.next;
            k = k.next;
        } else {
            k.next = q;
            q = q.next;
            k = k.next;
        }
    }
    
    // 然后把没有遍历的子链表直接接入新链表
    if(p === null) {
        k.next = q;
    } else {
        k.next = p;
    }
    
    return r.next;
};

相关文章

  • leetcode 链表 [C语言]

    21. 合并两个有序链表 合并两个有序链表 61. 旋转链表 (快慢指针) 61. 旋转链表 相关标签 : 链表 ...

  • [Leetcode] 21. 合并两个有序链表

    21. 合并两个有序链表 来源: 21. 合并两个有序链表 1. 解题思路 递归或者非递归 2. 代码 2.1 ...

  • leetcode linked list

    21. 合并两个有序链表 83. 删除排序链表中的重复元素 21. 合并两个有序链表 160. 相交链表 第三个想...

  • LeetCode-21 合并两个有序链表

    题目:21. 合并两个有序链表 难度:简单 分类:链表 解决方案:链表的遍历 今天我们学习第21题合并两个有序链表...

  • LeetCode 21. 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成...

  • 21. 合并两个有序链表

    20180923-摘抄自21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定...

  • 21. 合并两个有序链表

    21.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • [LeetCode]21-合并两个有序链表

    21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • LeetCode 链表 > 21. 合并两个有序链表

    21. 合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

  • 每日Leetcode—算法(3)

    21.合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的...

网友评论

      本文标题:21. 合并两个有序链表

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