题解 | #牛群的最长距离#

牛群的最长距离

https://www.nowcoder.com/practice/82848c6aa1f74dd1b95d71f3c35c74d5

/**
 * struct TreeNode {
 *	int val;
 *	struct TreeNode *left;
 *	struct TreeNode *right;
 *	TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 * };
 */
#include <queue>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param root TreeNode类 
     * @return int整型
     */
    // 左右节点的最大深度和
    void dfs(TreeNode* root, int high, int &max_high)
    {
        if(!root)
        {
            max_high = max(max_high, high);
            return;
        }
            
        // 左子树的最大深度
        dfs(root->left, high+1, max_high);
        // 右子树的最大深度
        dfs(root->right, high+1, max_high);
    }


    int diameterOfBinaryTree(TreeNode* root) {
        // write code here
        // 广度优先搜索 + 深度优先搜索

        if(!root)
            return 0;

        queue<TreeNode*>q;
        q.push(root);

        int ans = 0;
        while(!q.empty())
        {
            int len = q.size();
            for(int i=0; i<len; ++i)
            {
                TreeNode* t = q.front();
                q.pop();
                int t_high_l = 0, t_high_r = 0;

                dfs(t->left, 0, t_high_l);
                dfs(t->right, 0, t_high_r);
                
                ans = max(ans, t_high_l+t_high_r);
                if(t->left)
                    q.push(t->left);

                if(t->right)
                    q.push(t->right);
            }
        }

        return ans;
    }
};

虚数五行区解题中心 文章被收录于专栏

非淡泊无以明志,非宁静无以致远

全部评论

相关推荐

昨天 17:42
酷酷的喜马拉雅山:你为什么发我的offer列表?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 你的mentor是什么样的人? #
4503次浏览 33人参与
# 你觉得mentor喜欢什么样的实习生 #
10715次浏览 297人参与
# 平安产险科技校招 #
2431次浏览 0人参与
# 帮我看看,领导说这话什么意思? #
6688次浏览 27人参与
# 26届秋招公司红黑榜 #
13317次浏览 44人参与
# 怎么给家人解释你的工作? #
1705次浏览 17人参与
# 未岚大陆求职进展汇总 #
38146次浏览 114人参与
# 没有家庭托举的我是怎么找工作的 #
12676次浏览 160人参与
# 求职低谷期你是怎么度过的 #
5423次浏览 96人参与
# 实习必须要去大厂吗? #
146833次浏览 1542人参与
# 从哪些方向判断这个offer值不值得去? #
6777次浏览 95人参与
# 同bg的你秋招战况如何? #
158879次浏览 927人参与
# 度小满求职进展汇总 #
10221次浏览 53人参与
# 校招泡的最久的公司是哪家? #
4870次浏览 23人参与
# 面试紧张时你会有什么表现? #
1802次浏览 21人参与
# 你有哪些缓解焦虑的方法? #
37205次浏览 835人参与
# 你喜欢工作还是上学 #
77620次浏览 860人参与
# 入职第一天,你准备什么时候下班 #
85519次浏览 467人参与
# 秋招想进国企该如何准备 #
97750次浏览 487人参与
# 简历无回复,你会继续海投还是优化再投? #
103620次浏览 819人参与
# 机械人的工作环境真的很差吗 #
25086次浏览 119人参与
# 独居后,你的生活是更好了还是更差了? #
28154次浏览 263人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务