Count Complete Tree Nodes算法详解
来源:互联网 发布:中国经济金融数据库 编辑:程序博客网 时间:2024/06/06 15:36
题目:Given a complete binary tree, count the number of nodes.
Definition of a complete binary tree from Wikipedia:
In a complete binary tree every level, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible. It can have between 1 and 2h nodes inclusive at the last level h.
题意:给定一颗完全二叉树,数它的结点数并返回
思路:递归解法,先判断一颗二叉树是不是满二叉树,若是则返回其结点数,若不是递归调用其两个子节点
int countNodes(TreeNode* root) { if(root==NULL)return 0; TreeNode* l=root->left; TreeNode* r=root->right; int h=1; while(l&&r) { h++; l=l->left; r=r->right; } if(l||r) return countNodes(root->left)+countNodes(root->right)+1; return pow(2,h)-1; }
0 0
- Count Complete Tree Nodes算法详解
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes(****)
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- Count Complete Tree Nodes
- PHPUnit安装及入门(Unix或者Linux下)
- 摧毁自己
- C++/VC++ 命名及其他规范
- 大型网站架构体系的演变
- JFrame 与 Frame 的区别之一
- Count Complete Tree Nodes算法详解
- ios周刊第五期
- 题目1192:回文字符串
- linux gdb调试非常有用的命令,附加案例
- [数算]研究了一天的《N个球放M个盒子问题》~~~~~~~~~~~~8种情况全部用公式解决
- Codeforces 515C Drazil and Factorial
- 函数 指针 结构体的综合应用
- 《剑指offer》面试题16扩展题
- 欢迎使用CSDN-markdown编辑器