Algorithms—222.Count Complete Tree Nodes
来源:互联网 发布:中国书画网络展览馆 编辑:程序博客网 时间:2024/06/06 08:36
思路:利用完全二叉树的对称性质,左右分别探索长度,如果相同,直接返回2^h-1,否则分别计算左树和右树
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */public class Solution { public int countNodes(TreeNode root) { if (root==null) {return 0;} int l=getLeft(root); int r=getRight(root); if (l==r) {return (2<<(l-1)) - 1; } return 1+countNodes(root.left) + countNodes(root.right) ; } public int getLeft(TreeNode root){ int h=0; while(root!=null){ h++; root=root.left; } return h; } public int getRight(TreeNode root){ int h=0; while(root!=null){ h++; root=root.right; } return h; }}
0 0
- Algorithms—222.Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes
- 222. Count Complete Tree Nodes**
- Spring Mvc 输出 Json
- C++中vector使用说明
- 设计模式宏观概述(一)
- springmvc /struts2原理
- spring的bean加载2
- Algorithms—222.Count Complete Tree Nodes
- VisualSVN错误 Cannot query proxy blanket解决办法
- Android wakelock 自上而下浅析
- 阿里DRC介绍 zt
- 几个重要的RedHat Linux内核文件介绍
- C++ Effective_02
- 项目tip
- Qt之设置窗口背景
- 自定义分页控件