Javascript 我喜欢在线合并链表解决方案,但我不喜欢';我不能真正理解while循环
我已经在线获得了merge函数,但是我并不真正理解while循环中的条件。因此,对于(L1!==null&&L2!==null),我不确定什么是L1!==空值实际检查。是检查linkedList L1的第一个节点是否有值,还是检查linkedList L1是否为linkedList?为什么?有人能看一下吗?谢谢Javascript 我喜欢在线合并链表解决方案,但我不喜欢';我不能真正理解while循环,javascript,linked-list,Javascript,Linked List,我已经在线获得了merge函数,但是我并不真正理解while循环中的条件。因此,对于(L1!==null&&L2!==null),我不确定什么是L1!==空值实际检查。是检查linkedList L1的第一个节点是否有值,还是检查linkedList L1是否为linkedList?为什么?有人能看一下吗?谢谢 function merge(L1, L2) { var L3 = new Node(null, null); var prev = L3; while (L1 !==
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;
}
函数合并(L1、L2){
var L3=新节点(null,null);
var-prev=L3;
而(L1!==null&&L2!==null){
if(L1.data表达式L1!==null
确定L1是否为null。while循环一直运行,直到L1或L2为null,这意味着其中一个已完全合并。循环之后,非null链接列表的其余部分也立即合并