亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我的代碼會報錯?

<script>
//????????????構建一個二叉樹
????????????function?BinaryTree()?{
????????????????//創建一個節點
????????????????var?Node?=?function(key){
????????????????????this.key?=?key;//節點值
????????????????????this.left=null;//節點的左兒子
????????????????????this.right=null;//節點的右兒子
????????????????};
????????????????var?root?=?null;//根節點
????????????????var?insertNode?=?function(oldNode,newNode){//插入節點函數
????????????????????if(newNode.key<oldNode.key){//放入左節點
????????????????????????if(oldNode.left===null){
????????????????????????????oldNode.left=newNode;
????????????????????????}else{
????????????????????????????insertNode(oldNode.left,newNode);//遞歸
????????????????????????}
????????????????????}else{
????????????????????????insertNode(oldNode.right,newNode);
????????????????????}
????????????????}
????????????????this.insert=function(key){//定義了一個自定義函數insert()
????????????????????var?newNode=new?Node(key);//newNode是Node的一個實例
????????????????????if(root===null){
????????????????????????root=newNode;
????????????????????}else{
????????????????????????insertNode(root,newNode);
????????????????????}
????????????????};
????????????}
????????????var?nodes=[8,3,10,1,6,14,4,7,13];
????????????var?binaryTree=new?BinaryTree();//binaryTree是BinaryTree的實例
????????????nodes.forEach(function(key){
????????????????binaryTree.insert(key);
????????????});


正在回答

1 回答

第18行的else插入右節點,沒有空判斷

if(oldNode.right===null){
????oldNode.right?=?newNode;
}?else?{
????insertNode(oldNode.right,?newNode);
}


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

舉報

0/150
提交
取消

為什么我的代碼會報錯?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號