Count Complete Tree Nodes
2015-06-09 03:32
519 查看
complete tree, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible.
from wiki
本来在考虑最底层到底满不满,发现是通过recursive 来满足unbalanced的情况
ref http://blog.csdn.net/foreverling/article/details/46387781
from wiki
本来在考虑最底层到底满不满,发现是通过recursive 来满足unbalanced的情况
ref http://blog.csdn.net/foreverling/article/details/46387781
/** * 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) { if(root==null) return 0; int rh = rightH(root); int lh = leftH(root); if(rh==lh){ return (int) Math.pow(2,rh)-1; }else return countNodes(root.left) + countNodes(root.right)+1; } int rightH(TreeNode root){ int cnt=1; while(root.right!=null){ cnt++; root = root.right; } return cnt; } int leftH(TreeNode root){ int cnt=1; while(root.left!=null){ cnt++; root = root.left; } return cnt; } }
相关文章推荐
- ENode通信层性能测试结果
- Count Complete Tree Nodes - LeetCode 222
- openstack neutron 分析之network node报文跟踪
- [leetcode] Count Complete Tree Nodes
- Count Complete Tree Nodes
- Sublime2 运行NodeJS
- LeetCode 25: Reverse Nodes in k-Group
- [LeetCode] Count Complete Tree Nodes
- 升级 node 版本
- 谁才是性能之王?( Node.js vs io.js v2.0.0 )
- LeetCode_24---Swap Nodes in Pairs
- 用链表实现nodejs的内存对象管理
- Node.js是一个事件驱动I/O服务端JavaScript环境
- puppet学习笔记之node/package/service/file/user/group/cron/exec管理
- IIS部署Nodejs步骤
- Hadoop中namenode/datanone没有启动
- nodejs - 如何完全更新
- leetcode 日经贴,Cpp code -Count Complete Tree Nodes
- Hadoop集群中启动namenode失败的解决办法
- leetcode 24 -- Swap Nodes in Pairs