leetcode: Count Complete Tree Nodes
来源:互联网 发布:青岛平面美工培训 编辑:程序博客网 时间:2024/05/21 17:24
求近似完全二叉树的节点数。 除了最后一层外,其余各层都是满的。换句话说,最右子结点和最左子结点相差最多一个高度。 若两个节点高度一致,则可说明此时root代表的树是完全的,根据公式,其节点数为(2^height)-1;否则,其左右子树中势必有一棵是满的,我们不妨递归其左右子树,这样可以减少一半的计算量。
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int countNodes(TreeNode root) { TreeNode left = root,right = root; int height=0; while(right != null) { left = left.left; right = right.right; height++; } if( left == null ) { return (1<<height)-1; } else { return 1+countNodes(root.left)+countNodes(root.right); } }}
0 0
- [LeetCode] Count Complete Tree Nodes
- leetcode - Count Complete Tree Nodes
- Leetcode: Count Complete Tree Nodes
- [LeetCode]Count Complete Tree Nodes
- LeetCode Count Complete Tree Nodes
- [leetcode] Count Complete Tree Nodes
- leetCode:Count Complete Tree Nodes
- [LeetCode] Count Complete Tree Nodes
- leetcode Count Complete Tree Nodes
- #leetcode#Count Complete Tree Nodes
- leetcode Count Complete Tree Nodes
- LeetCode Count Complete Tree Nodes
- LeetCode - Count Complete Tree Nodes
- leetcode: Count Complete Tree Nodes
- leetcode--Count Complete Tree Nodes
- [LeetCode] Count Complete Tree Nodes
- Leetcode: Count Complete Tree Nodes
- [Leetcode]Count Complete Tree Nodes
- Nginx中发送udp请求
- 程序猿需要知道的相关知识
- linux初学(九)之linux文件系统
- poj 3928 Ping pong 树状数组
- 如果你是一个项目组的老大
- leetcode: Count Complete Tree Nodes
- 贪心精讲
- 提高ios开发效率
- 【leetcode-16】3Sum Closest(java)
- Code Forces 557 B. Pasha and Tea(水~)
- js number转string
- windows 安装composer 报SSL错误的解决方式
- 哈弗曼树与哈弗曼编码
- 浅谈MVC