zoukankan      html  css  js  c++  java
  • LeetCode --- Balanced Binary Tree

    题目链接

    题意: 给定一棵二叉树, 判断是否为平衡二叉树, 这里的平衡二叉树指的是:每个结点的左右子树的深度之差不超过1。

    附上代码:

     1 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10  class Solution {
    11 public:
    12     int isBalanced_helper(TreeNode *root, bool &result) {
    13         if (root == NULL) return 0;
    14         if (!result) return 0;
    15         int leftDepth = isBalanced_helper(root->left, result);
    16         int rightDepth = isBalanced_helper(root->right, result);
    17         if (abs(leftDepth - rightDepth) > 1) result = false;
    18         // prevent overwrite of "result"
    19         if (!result) return 0;
    20         return max(leftDepth, rightDepth) + 1;
    21     }
    22     
    23     bool isBalanced(TreeNode *root) {
    24         bool result = true;
    25         isBalanced_helper(root, result);
    26         return result;
    27     }
    28 };
  • 相关阅读:
    浏览器市场份额
    GDB gdb 调试
    tcp基础
    TCP加速方式
    windows10 CTCP
    大延时情况tcp和udp测试
    XAMPP与ISS在80端口冲突问题
    space transport protocols
    win10电脑搭建网站
    如何让nginx显示文件夹目录
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3776195.html
Copyright © 2011-2022 走看看