Count Complete Tree Nodes
2015-06-06 13:36
561 查看
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.
思路:
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.
思路:
[code]/** * 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; } TreeNode p=root; int rh=0; while(p!=null){ rh++; p=p.right; } p=root; int lh=0; while(p!=null){ lh++; p=p.left; } if(lh==rh){//左右高度相等,完美二叉树,(2^h -1)个节点 return (1<<rh)-1; } //递归求解 return countNodes(root.left)+countNodes(root.right)+1; } }
相关文章推荐
- [LeetCode] Count Complete Tree Nodes
- JavaScript DOM中的Node节点及节点操作
- [ nodeJS ] nodeJS 与 npm(node pagkage manager) 配置.
- nodejs中express框架
- 25. Reverse Nodes in k-Group
- openstack--计算节点安装(Node)
- Swap Nodes in Pairs
- LeetCode "Count Complete Tree Nodes"
- leetcode 222: Count Complete Tree Nodes
- 翻译 - NodeJS错误处理最佳实践
- LeetCode题解(19)--Remove Nth Node From End of List
- Setup node.js on Windows Server
- 5.1.10 Populating Next Right Pointers in Each Node II
- node-glob学习
- 用NODEJS处理EXCEL文件导入导出,文件上传
- iOS 用GDataXMLNode创建和解析XML
- LeetCode_19---Remove Nth Node From End of List
- 【NodeJS】---express配置ejs mongoose route等
- nodejs安装及环境配置
- leetcode 19 -- Remove Nth Node From End of List