222. 完全二叉树的节点个数
难度中等
给出一个完全二叉树,求出该树的节点个数。
说明:
完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。
示例:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNyROBlL1EzM1QjMxATM0IDMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
思路1.0:
不是随便哪个遍历都行嘛。。
代码:
class Solution {
public:
void PreOrder(TreeNode* Tnode, int& rst)
{
if (Tnode != NULL)
{
++rst;
PreOrder(Tnode->left,rst);
PreOrder(Tnode->right,rst);
}
}
int countNodes(TreeNode* root) {
int rst = 0;
PreOrder(root, rst);
return rst;
}
};