代碼是網上的。var tree = { value: 1, left: { value: 2, left: { value: 4 }, right: { value: 8 } }, right: { value: 3, left: { value: 5, left: { value: 7 }, right: { value: 8 } }, right: { value: 6 } }}先序遍歷的遞歸算法:var preOrder = function (node) {
if (node) {
console.log(node.value);
preOrder(node.left);
preOrder(node.right);
}
}我有點不明白的地方是,當node是最深的那個節點,那就是node.left和node.right都是undefined,那為何可以回到上層root節點?然繼續進行node.right的遍歷。
1 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
preOrder(node.left);//當這個執行到最深,node.left和node.right都是undefined時,不就執行下 面的preOrder(node.right);,也就是你說的上層root節點
preOrder(node.right);
- 1 回答
- 0 關注
- 670 瀏覽
添加回答
舉報
0/150
提交
取消