我制作了一个 Javascript 函数来反转链表。但该代码似乎产生了无限循环。请帮我找出错误。
reverse()
{
var current=this.head;
var prevNext=current.next;
this.tail.next=null;
this.tail=current;
while(current.next!==null)
{
var temp=prevNext;
if(temp.next!==null)
prevNext=temp.next;
temp.next=current;
current=temp;
}
this.head=current;
}
最佳答案
您进入无限循环,因为在循环内您分配 temp.next
,然后将其分配给 current,因此 current.next
始终不 null
.
var current = this.head;
var previous = null;
var next = null;
while(current !== null)
{
next = current.next;
current.next = previous;
previous = current;
current = next;
}
this.head = previous;
关于javascript - 使用JavaScript反转链表,该功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60507667/