【发布时间】:2020-04-17 23:46:33
【问题描述】:
我试图通过实现我自己的 LinkedList 来理解 Javascript 的指针。 ListNode 类如下所示:
function ListNode(val) {
this.val = val;
this.next = null;
}
然后我有一个函数来创建一个数字从 0 到 100 的 LinkedList:
function fillList() {
let output = new ListNode();
let curr = output;
for(let i = 0; i < 100; i++) {
if(curr) {
curr.val = i;
} else {
curr = new ListNode(i);
}
curr = curr.next;
}
return output;
}
问题出在return 之后,output 的值只有0。这意味着for 循环不起作用,尤其是当将curr 移动到其curr.next 并为其分配ListNode 时。
逻辑对我来说似乎很好,出了什么问题?
【问题讨论】:
-
Javascript 没有 pointers 所以上面的逻辑(在 c/c++ 中有效)将不起作用
标签: javascript pointers singly-linked-list