gpt4 book ai didi

javascript - 从整数数组创建单链表

转载 作者:行者123 更新时间:2023-12-03 02:55:32 25 4
gpt4 key购买 nike

我在使用 JavaScript 获取整数数组并创建单链表时遇到问题。这听起来很简单,但是我在我拥有的功能中没有看到一些东西,我非常感谢您提供的任何帮助。

这是我用来创建节点的构造函数:

 function ListNode(val) {
this.val = val;
this.next = null;
}

这是我正在编写的函数,它应该接受一个数组并从中创建一个链接列表。基本思想只是一个 while 循环,它会移走第一个值,直到没有任何东西可以移动:

var createLinkedList = function(array) {
var head = new ListNode(parseInt(array[0]));
array.shift();
while(array.length) {
var prev = new ListNode(parseInt(array[0]));
head.next = head;
prev = head;
array.shift();
}
return head;
}

我尝试使用几个基本数组运行它,它总是只返回数组中的最后一个值而不是链接列表。有什么简单的东西我在这里没有看到吗?提前致谢。

最佳答案

问题不在于 array.shift,而在于如何在 while 循环内将节点链接在一起。

要将节点链接在一起,基本上您需要执行以下操作:

var new_node = new ListNode(parseInt(array[0]));
head.next = new_node;
new_node = new ListNode(parseInt(array[1]));
head.next.next = new_node;
new_node = new ListNode(parseInt(array[2]));
head.next.next.next = new_node;
.
.
.

我想你明白了。因此,您要做的是重新设计 while 循环,存储 tailNode 的引用,而不是调用 head.next.next.next.next.next = newNode,您可以在 while 循环内调用 tailNode.next = newNodetailNode = newNode

关于javascript - 从整数数组创建单链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47645034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com