二叉树计算叶子节点算法,时间复杂度。
自然语言描述:采用递归算法,先序遍历二叉树的每一个结点,如果结点没有左子树和右子树,则叶子结点个数加一。
Python代码实现:
def CountOfLeaf(count=0, bitree:BiTree):
if not bitree:
return 0
if bitree->lchild is None and bitree->rchild is None:
count += 1
CountOfLeaf(count, bitree->lchild)
CountOfLeaf(count, bitree->rchild)
return count
if __name__ is "__main__":
CountOfLeaf(T)
时间复杂度:O(n)