zoukankan      html  css  js  c++  java
  • 剑指offer三十九之平衡二叉树

    一、题目

      输入一棵二叉树,判断该二叉树是否是平衡二叉树。

    二、思路

         详解代码。

    三、代码

    public class Solution {
        //判断根节点左右子树的深度,高度差超过1,则不平衡
        public boolean IsBalanced_Solution(TreeNode root) {
            if (root==null) {
                return true;
            }
            int left = getTreeDepth(root.left);
            int right = getTreeDepth(root.right);
            return Math.abs(left-right)>1?false:true;
        }
        //求取节点的深度
        public static int getTreeDepth(TreeNode root) {
            if (root==null) {
                return 0;
            }
            int leftDepth = 1+getTreeDepth(root.left);
            int rightDepth = 1+getTreeDepth(root.right);
            return leftDepth>rightDepth?leftDepth:rightDepth;
        }
    }
    View Code

    -----------------------------------

    参考链接:

    https://www.nowcoder.com/questionTerminal/8b3b95850edb4115918ecebdf1b4d222

  • 相关阅读:
    委托的例子,from C# advanced program
    C#线程通信与异步委托
    进程间通信
    线程间通信
    投影转换(AE)
    FTP多任务下载实现类
    堆内存和栈内存详解(转)
    How threads differ from processes
    实现远程FTP特定时间轨道号MODIS数据的搜索
    委托的例子
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/7658038.html
Copyright © 2011-2022 走看看