平衡二叉树
来源:互联网 发布:网络大电影编号 编辑:程序博客网 时间:2024/05/19 20:41
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
思路:计算每个节点左右子树的高度,进行比较,差大于1说明不平衡,
这个代码有重复计算问题。
public class Solution { public boolean IsBalanced_Solution(TreeNode root) { if(root == null) return true; int left = judgeTreeBalance(root.left); int right = judgeTreeBalance(root.right); int diff = left - right; if(diff > 1 || diff < - 1) return false; return IsBalanced_Solution(root.left) && IsBalanced_Solution(root.right); } public int judgeTreeBalance(TreeNode root){ if(root == null) return 0; int count = 1; int left = judgeTreeBalance(root.left); int right = judgeTreeBalance(root.right); return count + (left > right ? left : right); }}
阅读全文
0 0
- 平衡二叉树平衡法则
- 二叉树--二叉平衡树
- 平衡二叉树的
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉查找树
- 平衡二叉树 详解
- 平衡二叉树
- 平衡二叉树
- AVL 平衡二叉树
- 平衡二叉树
- 平衡二叉树-红黑树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- 平衡二叉树
- Deep Learning模型之:CNN卷积神经网络推导和实现
- Dragger2、RxJava和Retrofit的巧妙结合
- Java设计模式之策略模式
- 解决Could not write metadata for '/RemoteSystemsTempFiles'. D:\workspace\.metadata\.plugins\org.eclips
- node.js的轮循机制粗解(event loop)
- 平衡二叉树
- VC定时器的用法:SetTimer和Ontimer
- Java并发编程 之 指令重排序
- 插入排序(C/C++实现)
- TP5 分页 如果查询传递过的page分页数和limit行数
- 《深入分析Java Web技术内幕》学习(一)
- ConcurrentHashMap 总结( 上 )
- memcpy_s的用法
- 数据结构——线性结构(6)——链队列的原理