leetcode 222:Count Complete Tree Nodes
来源:互联网 发布:税控开票软件金税盘版 编辑:程序博客网 时间:2024/06/05 04:39
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.
题目分析:完全二叉树的特点就是之前层都是满的,最后一层后半部分可能为空。还有一个最重要的特点,如果一个子树的左子树的高度等于右子树的高度,则为满二叉树,此时节点数为O(2^h-1)h为树的高度。我们可以利用这个特质,进行递归求解。
源代码如下:
/** * 完全二叉树的特点就是如果左子树的高度等于右子树的高度则节点数为O(2^h-1)h为树的高度 * */ public int countNodes(TreeNode root) { if(root==null) return 0; int left=getLeft(root.left); int right=getRight(root.right); int sum=0; if(left==right&&left!=0) { sum=(2<<left)-1; } else { sum=countNodes(root.left)+countNodes(root.right)+1; } return sum; } public int getLeft(TreeNode root) { int left=0; while(root!=null) { left++; root=root.left; } return left; } public int getRight(TreeNode root) { int right=0; while(root!=null) { right++; root=root.right; } return right; }
0 0
- leetcode 222: Count Complete Tree Nodes
- Count Complete Tree Nodes - LeetCode 222
- Leetcode[222]-Count Complete Tree Nodes
- leetcode #222 Count Complete Tree Nodes
- [Leetcode 222, Medium] Count Complete Tree Nodes
- Leetcode #222 Count Complete Tree Nodes
- LeetCode(222)Count Complete Tree Nodes
- [LeetCode 222]Count Complete Tree Nodes
- [leetcode-222]Count Complete Tree Nodes(c)
- Leetcode 222: Count Complete Tree Nodes
- [leetcode] 222 Count Complete Tree Nodes
- [leetcode 222]Count Complete Tree Nodes
- leetcode 222:Count Complete Tree Nodes
- LeetCode 222 Count Complete Tree Nodes
- LeetCode题解-222-Count Complete Tree Nodes
- LeetCode 222 Count Complete Tree Nodes
- [LeetCode] Count Complete Tree Nodes
- leetcode - Count Complete Tree Nodes
- Adapter
- Oracle数据库JDBC连接
- 理解堆栈及其利用方法
- 七牛---使用Eclipse/Myeclipse安装运⾏Android SDK以及常⻅错误整理
- 位图法在实际项目中的运用
- leetcode 222:Count Complete Tree Nodes
- Hbase 问题汇总
- Sublime text 搭建C/C++环境
- HDU 5476 Explore Track of Point(几何)——2015 ACM/ICPC Asia Regional Shanghai Online
- linux内核之sys接口device_add详解
- TCP保活定时器
- Tomcat软连接访问配置(symbol link)
- Ubuntu_新建/编辑/删除文件
- Mybatis整合Spring