【发布时间】:2014-06-10 06:38:15
【问题描述】:
我刚刚通过一个简单的面试问题:请反转一个单链表。
虽然我未能及时提供有效的答案来挽救面试,但后来我能够想出一个解决方案。
我的解决方案正确吗?你会如何用 Big-Oh 来分析这个?有没有更有效的方法来反转单链表?
// reverse a linked list
var reverseLinkedList = function(linkedlist) {
var node = linkedlist;
var previous = null;
while(node) {
// reverse pointer
node.next = previous;
// increment previous to current node
previous = node;
// increment node to next node
if (node.next){
node = node.next
} else {
node = null;
}
}
}
注意:在搜索类似帖子时,我确实在 JavaScript 中找到了one example。我想知道我的代码是否可行(没有temp 变量)。谢谢。
【问题讨论】:
标签: javascript linked-list singly-linked-list