为什么我的算法显示[circular]?(NodeJS简单算法)

4
var swapPairs = function(head) {
    if (head == null || head.next == null) {
        return; 
    }
    let oldHead = head;
    let nextHead = head.next;
    oldHead.next = swapPairs(nextHead.next);
    head.next = oldHead;
    return head;
};

console.log(swapPairs(list.head));

有什么线索可以解释为什么Node JS会响应每个头部,但响应下一个值时是 "[circular]"?

例如: { value: 16, next: [Circular] }


2
可能是 https://dev59.com/tmsz5IYBdhLWcg3wZ25q 的重复问题。 - mbojko
2
因为它是循环的。在这一行中,您将head.next设置为headhead.next = oldHead - Knelis
1
可能是JavaScript中{content:[Circular]}的含义是什么?的重复问题。 - Agnius Vasiliauskas
1个回答

2
因为它是循环的 - 它是无限嵌套的:
value: 16,
next: {
    next: {
        next: {...}
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接