Count Complete Tree Nodes

原创 2015年07月11日 00:01:53

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    void traverseLeft(TreeNode* root, int& h)
    {
        if(root == NULL)
        {
            return;
        }
        ++ h;
        traverseLeft(root -> left, h); 
        
    }
    void traverseRight(TreeNode* root, int& h)
    {
        if(root == NULL)
        {
            return;
        }
        ++ h;
        traverseRight(root -> right, h);
    }

    int countNodes(TreeNode* root) 
    {
        if(root == NULL)
        {
            return 0;
        }
        int h1 = 1;
        int h2 = 1;
        traverseLeft(root -> left, h1);
        traverseRight(root -> right, h2);
        if(h1 == h2)
        {
            return pow(2, h1) - 1;
        }
        //int h = max(h1, h2);

        return countNodes(root -> left) + countNodes(root -> right) + 1;

    }
};


版权声明:本文为博主原创文章,未经博主允许不得转载。

算法分析与设计课程(12):【leetcode】 Count Complete Tree Nodes

Description: Given a complete binary tree, count the number of nodes. Definition of a complete b...
  • lr787558718
  • lr787558718
  • 2017年05月13日 16:06
  • 140

LeetCode OJ 之 Count Complete Tree Nodes(计算完全二叉树的结点数目)

题目: Given a complete binary tree, count the number of nodes. Definition of a complete binary tree...
  • u012243115
  • u012243115
  • 2015年06月16日 10:56
  • 339

1110. Complete Binary Tree (25) -- 完全二叉树相关性质, 求树根两种方法

题目地址https://www.patest.cn/contests/pat-a-practise/1110题目描述Given a tree, you are supposed to tell if ...
  • qq_26437925
  • qq_26437925
  • 2016年11月04日 16:14
  • 318

AVL Trees 学习笔记

AVL Trees 是一种特殊的二叉搜索树,它的作用是通过自我调整,让整棵树保持平衡,从而降低整棵树的高度,以提高查找效率。 本文将首先介绍AVL Trees,然后介绍它的实现方法,性能评估,最...
  • Woolseyyy
  • Woolseyyy
  • 2016年05月26日 12:19
  • 771

王小草【机器学习】笔记--提升之XGBoost工具的应用

笔记整理时间:2016年12月29日 整理者:王小草 欢迎关注: 王小草的FM喜马拉雅主播频道:搜索账号名“好吧我真的叫王草” 王小草的个人微信公众号:bigdataML 王小草的CSDN博...
  • sinat_33761963
  • sinat_33761963
  • 2016年12月29日 16:44
  • 1597

leetcode 684. Redundant Connection 邻接表的环的判断 + 深度优先遍历DFS

In this problem, a tree is an undirected graph that is connected and has no cycles.The given input i...
  • JackZhang_123
  • JackZhang_123
  • 2017年12月23日 15:55
  • 48

SPOJ COT Count on a tree 树上第k大(主席树)

题意:http://www.spoj.com/problems/COT/en/ 题意:给定一棵树,树上每个节点都有一个权值,问两点之间路径上第K大值 思路:树上的第k大值,跟区间第k大有些不同,区...
  • discreeter
  • discreeter
  • 2016年10月02日 15:57
  • 692

bzoj2588:Count on a tree(可持久化线段树+Lca)

2588: Spoj 10628. Count on a tree Time Limit: 12Sec  Memory Limit: 128 MB Submit: 5524  Solved: 1306...
  • KsCla
  • KsCla
  • 2017年01月23日 20:50
  • 252

项目实践——Easyui中tree的使用

Easyui的tree
  • zllaptx4869
  • zllaptx4869
  • 2015年04月28日 22:45
  • 1810

1110. Complete Binary Tree (判断完全二叉树)

Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each ...
  • h1021456873
  • h1021456873
  • 2016年12月08日 00:43
  • 152
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Count Complete Tree Nodes
举报原因:
原因补充:

(最多只允许输入30个字)