二进制树计数完整二叉树中的节点数

时间:2016-02-15 17:20:19

标签: recursion binary-tree

我要计算完整二叉树中的节点数。我知道使用递归执行此操作的一种方法,我的代码看起来像这样

class Solution {
public:
 int countNodes(TreeNode* root) {
    if(!root)return 0;
    int sz;
    sz=1+countNodes(root->left)+countNodes(root->right);
    return sz;
  }
};

但它在网上评判中给了我超出时间限制。也许是在二叉树偏斜的情况下。

如何更有效地完成这项工作?

P.S:我也试过BFS但没有运气。

0 个答案:

没有答案