题目:已知二叉树采用二叉链表存储结构,根结点所在链结点的地址为T,写一递归算法,求该二叉树中叶结点的数目。
具体算法如下:
function countLeaf(BT) {
if ( BT==null ) {
return 0
}
if ( BT.lchild==null && BT.rchild==null ) {
return 1
}
return countLeaf(BT.lchild) + countLeaf(BT.rchild)
}
测试:
这里使用到建立二叉树方法createBT(strBT)
var strBT="A(B(D,E(G)),C(F(,H)))@"
var BT = createBT(strBT)
countLeaf(BT)
网友评论