为了账号安全,请及时绑定邮箱和手机立即绑定

走到中间节点1,提示node.key为undefined。

http://img1.sycdn.imooc.com//5e3cecc30001ee0109060645.jpg

<!DOCTYPE html>

<html>

<head>

<title>binaryTree</title>

</head>

<body>

<script type="text/javascript">

function BinaryTree(){

var Node = function(key){

this.key = key;

this.left = null;

this.right = null;

};

var root = null;

this.insert = function(key){

var newNode = new Node(key);

if(root == null){

root = newNode;

}else{

insertNode(root,newNode);

}

};

var insertNode = function(node,newNode){

if(newNode.key < node.key){

if(node.left == null){

node.left = newNode.key;

}else{

insertNode(node.left,newNode);

}

}else{

if(node.right == null){

node.right = newNode.key;

}else{

insertNode(node.right,newNode);

}

}

};

}

var nodes = [8,3,10,1,6,14,4,7,13];

var binaryTree = new BinaryTree();

nodes.forEach(function(key){

binaryTree.insert(key);

});

</script>

</body>

</html>


正在回答

1 回答

第一  判断是否等于null  用=== 不是 ==

第二node.left = newNode.key;不对   是node.left = newNode;

同理right也是

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

走到中间节点1,提示node.key为undefined。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信