您的位置:首页 > Web前端 > Node.js

222. Count Complete Tree Nodes LeetCode

2016-03-16 18:24 549 查看
题意:求完全二叉树的节点数。

题解:先看看这课子树是不是满的,是满的返回2^h - 1个,否则递归求左右儿子的个数。

class Solution {
public:
int countNodes(TreeNode* root) {
if(root == NULL) return 0;
int l = 0,r = 0;
TreeNode *le = root->left;
TreeNode *ri = root->right;
while(le || ri)
{
if(le != NULL)
{
le = le->left;
l++;
}
if(ri != NULL)
{
ri = ri->right;
r++;
}
}
if(l == r) return (2 << l) - 1;
else return 1 + countNodes(root->left) + countNodes(root->right);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode