天天看点

PigyChan_LeetCode 222. 完全二叉树的节点个数

222. 完全二叉树的节点个数

难度中等

给出一个完全二叉树,求出该树的节点个数。

说明:

完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。

示例:

PigyChan_LeetCode 222. 完全二叉树的节点个数

思路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;
      }
  };