二叉树问题

var tree={
value:1,
left:{
value:2,
left:{
value:4
}
},
right:{
value:3,
left:{
value:5,
left:{
value:7
},
right:{
value:8
}
},
right:{
value:6
}
}
}   //一个二叉树

function preOrder(node){    //先序遍历
if(node){
console.log(node.value);
preOrder(node.right);
preOrder(node.right);
}
}
preOrder(tree);      //求个方法,让输出二叉树时有个时间间隔,停顿一到两秒再输出下一个


qq_一梦两三年丶_0
浏览 1395回答 1
1回答

风筝_0010

你这个先序遍历有问题吧,第一个preOrder里面不该是node.left?怎么两个node.right?你可以定义一个数组arr,然后每次把node.value给push进去,之后你会得到一个按先序遍历顺序排列的数组,之后从头打印数组里面的值。比如:arr.forEach(function(value, i) {     setTimeout(function() {         console.log(value);     }, 1000*i); // 这样就会以1s为间隔打印了 })
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript