判断是否为平衡二叉树
Posted jihuabai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断是否为平衡二叉树相关的知识,希望对你有一定的参考价值。
题目:如标题所示。
Code如下:
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; // left,right是对当前节点的左右子节点进行遍历,return Math.max(left,right)+1 // 则是求出当前节点的深度,并将结果抛给上一层。 // 这三个步骤相结合则是一次后序遍历(左右根) return right>left ?right+1:left+1;
以上是关于判断是否为平衡二叉树的主要内容,如果未能解决你的问题,请参考以下文章