剑指offer:平衡二叉树
来源:互联网 发布:编程 网页开发 编辑:程序博客网 时间:2024/06/15 22:53
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
递归
【运行时间:15ms 占用内存:8404k】
public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if (root==null)return true; int left_height = height(root.left); int right_height = height(root.right); if(Math.abs(left_height - right_height) > 1) return false; else return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right); } private int height(TreeNode root){ if(root == null) return 0; int left_height = height(root.left); int right_height = height(root.right); return 1 + (left_height > right_height ? left_height : right_height); }}
递归2
参考牛客网网友解答
public class Solution { //后续遍历时,遍历到一个节点,其左右子树已经遍历 依次自底向上判断,每个节点只需要遍历一次 private boolean isBalanced=true; public boolean IsBalanced_Solution(TreeNode root) { getDepth(root); return isBalanced; } public int getDepth(TreeNode root){ if(root==null) return 0; int left=getDepth(root.left); int right=getDepth(root.right); if(Math.abs(left-right)>1){ isBalanced=false; } return right>left ?right+1:left+1; }}
阅读全文
0 0
- 剑指offer--平衡二叉树
- 《剑指offer》平衡二叉树
- 剑指Offer--平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer:平衡二叉树
- 剑指offer 平衡二叉树
- 剑指offer:平衡二叉树
- [剑指offer]平衡二叉树
- 剑指offer|平衡二叉树
- 《剑指offer》-平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer: 平衡二叉树
- 剑指offer:平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer 平衡二叉树
- 【剑指offer】平衡二叉树
- 剑指offer-平衡二叉树
- 剑指offer--平衡二叉树
- 最少拦截系统 HDU
- Div1 小A抓小B tarjan双连通分量缩点+dfs
- 线段树--hdu4027 Can you answer these queries?
- oozie安装及简单使用
- listView 的item滑动删除
- 剑指offer:平衡二叉树
- 数据结构与算法专题之查找与排序——交换类排序(冒泡、快排与归并)
- SQL笔记
- Java 线程池的理论与实践
- SpringBoot之启动加载数据 CommandLineRunner(G)
- 在Ubuntu下安装source Insight
- asp.net Gridview行绑定调用后台方法
- Maven打包,包下的xml丢失的解决
- matplotlib4 详解 复杂图形