zoukankan      html  css  js  c++  java
  • LeetCode 104. Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth.

    The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

    大致题意

    判断一棵树是不是平衡树

    题解

    题目类型:dfs

    基本的dfs题目,遍历节点的同时计算左右子树的高度,借由此来判断是否时平衡树

    代码如下

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        int depth (TreeNode *root) {
            if (root == NULL) return 0;
            return max (depth(root -> left), depth (root -> right)) + 1;
        }
    
        bool isBalanced (TreeNode *root) {
            if (root == NULL) return true;
            
            int left=depth(root->left);
            int right=depth(root->right);
            
            return abs(left - right) <= 1 && isBalanced(root->left) && isBalanced(root->right);
        }
    };
  • 相关阅读:
    vpp编写plugin
    vrf 命令
    vxlan + 多个vrf
    dpdk helloworld
    Go函数高级
    Go_defer
    Go递归函数
    Go作用域
    Go函数
    Go字符串
  • 原文地址:https://www.cnblogs.com/twodog/p/12137698.html
Copyright © 2011-2022 走看看