zoukankan      html  css  js  c++  java
  • leetcode110

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     public int val;
     *     public TreeNode left;
     *     public TreeNode right;
     *     public TreeNode(int x) { val = x; }
     * }
     */
    public class Solution {
        private int height(TreeNode node)
            {
                if (node == null)
                {
                    return 0;
                }
                int lH = height(node.left);
                if (lH == -1)
                {
                    return -1;
                }
                int rH = height(node.right);
                if (rH == -1)
                {
                    return -1;
                }
                if (lH - rH < -1 || lH - rH > 1)
                {
                    return -1;
                }
                return Math.Max(lH, rH) + 1;
            }
    
            public bool IsBalanced(TreeNode root)
            {
                if (root == null)
                {
                    return true;
                }
                return height(root) != -1;
    
            }
    }

    https://leetcode.com/problems/balanced-binary-tree/#/description

    补充一个python的实现:

     1 class Solution:
     2     def __init__(self):
     3         self.result = True
     4         
     5     def maxDepth(self,root):
     6         if root == None:
     7             return 0
     8         l = self.maxDepth(root.left)
     9         r = self.maxDepth(root.right)
    10         d = max(l,r) + 1
    11         if abs(l - r) > 1:
    12             self.result = False
    13         return d
    14     
    15     def isBalanced(self, root: TreeNode) -> bool:
    16         self.maxDepth(root)
    17         return self.result
  • 相关阅读:
    Ubuntu kylin 14.04 安装问题未解决
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
    C 语言实例
  • 原文地址:https://www.cnblogs.com/asenyang/p/6745121.html
Copyright © 2011-2022 走看看