您的位置:首页 > Web前端 > Node.js

Count Complete Tree Nodes LeetCode Java

2015-06-23 11:55 567 查看
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.

public class Solution {
public int countNodes(TreeNode root) {
if(root==null)
return 0;
int h=height(root);
if(height(root.right)==h-1){
return (1<<(h-1))+countNodes(root.right);
}else
return (1<<(h-2))+countNodes(root.left);
}
private int height(TreeNode root){
return root==null?0:1+height(root.left);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: