题目描述:
给定一棵完全二叉树的根节点root,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。
给定树的根结点root,请返回树的大小。
解题思路:
充分考虑到完全二叉树的性质
二分的思想:O(log n^2)

如上图所示:当root右子树的高度和root左子树的高度一致,左部分可以直接用公式计算:2^n - 1;右部分使用递归遍历计算总结点数;

如上图所示:当root右子树的高度比root左子树的高度少1,右部分可以直接用公式计算;左部分使用递归遍历计算总结点数;
代码: