美文网首页
【LeetCode】二叉树的直径

【LeetCode】二叉树的直径

作者: MyyyZzz | 来源:发表于2019-04-11 02:25 被阅读0次

题目描述:

https://leetcode-cn.com/problems/diameter-of-binary-tree/

解题思路:

左子树的深度加上右子树的深度就是通过该节点的直径;
找出其中节点的直径的最大值;

代码:

class Solution {
public:
    int diameterOfBinaryTree(TreeNode* root) {
        int m=0;
        maxPath(root, m);
        return m;
    }
    int maxPath(TreeNode* root, int& m)
    {
        if(!root)
            return 0;
        int left_height = maxPath(root->left, m);
        int right_height = maxPath(root->right, m);
        m = max(m, left_height+right_height);
        return max(left_height, right_height)+1;
        
    }
};

相关文章

  • tag9:树 二叉树的直径

    leetcode543. 二叉树的直径[https://leetcode-cn.com/problems/diam...

  • LeetCode | 0543. Diameter of Bin

    LeetCode 0543. Diameter of Binary Tree二叉树的直径【Easy】【Python...

  • 【LeetCode】二叉树的直径

    题目描述: https://leetcode-cn.com/problems/diameter-of-binary...

  • leetcode 543 二叉树的直径

    首先理解题意,最大直径不包含当前节点。 其次求直径解法:求该节点左边的最大长度+该节点右边的最大长度

  • 二叉树的直径(LeetCode543.二叉树的直径)

    题目 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿...

  • 二叉树求直径

    给定一个二叉树,写代码传入根节点后求出直径?二叉树的直径是任意两个节点之间的最远距离。 如上面二叉树的直径为:3....

  • 二叉树的直径

    问题1 二叉树的最大直径 原理 首先,需要定义一个变量记录二叉树的直径 其次,递归遍历,找到每一层二叉树的 递归的...

  • LeetCode 543. 二叉树的直径

    给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结...

  • leetcode 543. 二叉树的直径

    题目描述 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可...

  • 算法学习(二叉树和递归相关问题)

    递归 LeetCode 104 二叉树的最大深度 LeetCode 111 二叉树的最低深度(练习)完成 Leet...

网友评论

      本文标题:【LeetCode】二叉树的直径

      本文链接:https://www.haomeiwen.com/subject/mvxziqtx.html