LeetCode 222 Count Complete Tree Nodes
来源:互联网 发布:苹果接电话变声软件 编辑:程序博客网 时间:2024/05/30 21:58
题目描述
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(n)。可以使用类似二分查找的方法,因为二叉树是完全二叉树,计算leftHeight和rightHeight,最大相差1,然后递归求解。
代码
public int countNodes(TreeNode root) { if (root == null) { return 0; } int leftHeight = 0; int rightHeight = 0; // 计算leftHeight TreeNode p = root; while (p != null) { p = p.left; leftHeight++; } // 计算rightHeight p = root; while (p != null) { p = p.right; rightHeight++; } // 如果相等,满足2^n-1 if (leftHeight == rightHeight) { return (1 << leftHeight) - 1; } return 1 + countNodes(root.left) + countNodes(root.right); }
2 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
- android中的Handler和Callback机制
- 第十二周项目4-利用遍历思想求解图问题(7)
- js中typeof的用法汇总
- 编程判断3人中谁的年龄最大,并打印最大者的年龄
- 第四周 项目四 建设双链表算法库
- LeetCode 222 Count Complete Tree Nodes
- 第十五周项目3 - B-树的基本操作
- 【Codeforces Round 269 (Div 2)A】【简单讨论】MUH and Sticks 6根木棍拼动物
- 第十五周 项目2 用哈希法组织关键字
- Unity 动画 Tag nameHash
- 第15周项目1验证算法
- 学习javascript的好地方,收藏
- Java中的代码点与代码单元
- 第十五周项目二-----用哈希法组织关键字之线性探测法