慕姐1218095
2020-03-01 15:50
你好 如果删除了中间节点3后 将中间节点3变4后删除了 该节点的右子树的最小节点4后 再通过中序遍历查看 会发现该中间节点4(原3后4) 的左右孩子都会是null 但是打印中序的顺序是对的
//中序时应该打出来的是node的key 本来是应该打出4 的却把整个node打印出来了. //说明在最后一个(node.left && node.right)同时存在判断中 赋值出现错误 //本应该是 let aux = findMinNode(node.right); node.key = aux.key; ... // 写成了 let aux = findMinNode(node.right); node = aux.key; ... //因为本身Object是引用类型数据. 所以node(4) 的left right就都是null { key:8 left:{ key: { //错误位置 ,本来应该是Number(4), 现在变成Node(4)了 key:4, left:..., right:... }, left:..., right:... } right:{ key:10, left:..., right:... } }
Javascript实现二叉树算法
46934 学习 · 97 问题
相似问题