【问题标题】:I fond a merge linked list solution online, but I don't really understand the while loop我喜欢在线合并链表解决方案,但我不太了解while循环
【发布时间】:2018-05-28 18:20:31
【问题描述】:

我已经在线获得了合并功能,但是我不太了解while循环中的条件。因此,对于 (L1 !== null && L2 !== null),我不确定 L1 !== null 实际检查的是什么。是检查linkedList L1的第一个节点是否有值,还是检查linkedList L1是否是linkedList?有什么理由吗?有人可以看看吗?谢谢

function merge(L1, L2) {

  var L3 = new Node(null, null);
  var prev = L3;

  while (L1 !== null && L2 !== null) {
    if (L1.data <= L2.data) { 
      prev.next = L1;
      L1 = L1.next;
    } else {
      prev.next = L2;
      L2 = L2.next;
    }
    prev = prev.next;
  }

  if (L1 === null) { prev.next = L2; }
  if (L2 === null) { prev.next = L1; }

  return L3.next;

}

【问题讨论】:

    标签: javascript linked-list


    【解决方案1】:

    表达式L1 !== null 确定L1 是否为空。 while 循环一直运行,直到 L1 或 L2 为空,这意味着其中一个已完全合并。紧接着循环之后,其余的非空链表也被合并。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 1970-01-01
      相关资源
      最近更新 更多