[LeetCode 222]Count Complete Tree Nodes
来源:互联网 发布:2017mac mini会更新吗 编辑:程序博客网 时间:2024/06/17 14:06
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 2hnodes inclusive at the last level h.
递归查找左右子树的nodes number, 注意base case.并利用complete tree 性质
public int countNodes(TreeNode root) { if(root == null) return 0; TreeNode n1 = root.left; int leftHeight = 1; while(n1!=null){ leftHeight++; n1 = n1.left; } n1 = root.right; int rightHeight = 1; while(n1!=null){ rightHeight++; n1 = n1.right; } if(leftHeight == rightHeight){ return (1<<leftHeight) -1; } return countNodes(root.left) + countNodes(root.right) + 1; }
0 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
- k-medoids(学习Free Mind知识整理)
- URAL 题目1297. Palindrome(后缀数组+RMQ求最长回文子串)
- Android笔记(十一)第一个Fragment
- java quartz的使用,做时间轮询调用 CronTrigger
- CCLabel添加 显示下划线的api
- [LeetCode 222]Count Complete Tree Nodes
- 一个使用watch命令实现的多变量组合测试用例实时输出方案
- 修改postgres编码
- 苹果app审核,如何申请加急审核
- [LeedCode OJ]#14 Longest Common Prefix
- Android基础:Activity的四种启动模式
- Plupload文件,图片等上传插件
- java的RTTI机制
- 多线程 - 13.RunLoop应用场景