再讲完全二叉树节点数计算之前,我们先来看什么是完全二叉树
完全二叉树就是,树的高度差最多为1,且最后一层的节点都是紧凑靠左排列的。
满二叉树就是一种特殊的完全二叉树**,每层都是满的,除叶子结点外,每一层都有两个子节点**:
我们现在来看如何计算完全二叉树的节点个数呢?
如果是一个普通的二叉树,显然只要向下遍历一遍就行,时间复杂度为 O(N)
int countNodes(TreeNode* root)
{
if(root == nullptr)
return 0 ;
return 1 + countNodes