Leetcode: Count Complete Tree Nodes
来源:互联网 发布:斗破沙城翅膀进阶数据 编辑:程序博客网 时间:2024/05/01 13:08
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.
Code:
/** * 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: int countDepth(TreeNode* root, int dir) { int ret = 0; while (root) { ++ret; if (dir == 0) root = root->left; else root = root->right; } return ret; } int countNodes(TreeNode* root) { if (root == NULL) { return 0; } else if (root->left == NULL) { return 1; } else if (root->right == NULL) { return 2; } else { int d0, d1; d0 = countDepth(root, 0); d1 = countDepth(root, 1); if (d0 == d1) { return pow(2, d0) - 1; } return countNodes(root->left) + countNodes(root->right) + 1; } }};
0 0
- [LeetCode] Count Complete Tree Nodes
- leetcode - Count Complete Tree Nodes
- Leetcode: Count Complete Tree Nodes
- [LeetCode]Count Complete Tree Nodes
- LeetCode Count Complete Tree Nodes
- [leetcode] Count Complete Tree Nodes
- leetCode:Count Complete Tree Nodes
- [LeetCode] Count Complete Tree Nodes
- leetcode Count Complete Tree Nodes
- #leetcode#Count Complete Tree Nodes
- leetcode Count Complete Tree Nodes
- LeetCode Count Complete Tree Nodes
- LeetCode - Count Complete Tree Nodes
- leetcode: Count Complete Tree Nodes
- leetcode--Count Complete Tree Nodes
- [LeetCode] Count Complete Tree Nodes
- Leetcode: Count Complete Tree Nodes
- [Leetcode]Count Complete Tree Nodes
- C++实现Bellmanford算法
- akoj-1272-字母统计
- linux下的apache配置文件详解
- 汇编指令解释大全
- 黑马程序员—数组及内存结构使用
- Leetcode: Count Complete Tree Nodes
- 汇编语言总结笔记
- hdu5212Code 容斥原理
- 【深入发掘】HTML——一个你需要认真对待的语言
- Linux上vi(vim)编辑器使用教程
- 欢迎使用CSDN-markdown编辑器
- python 使用scapy进行帧注入
- Java中对象的放置安排与C++中对象的放置安排
- python with语句与上下文管理器