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

示例 :
给定二叉树

      1/ \2   3/ \     4   5
  • 返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]
class Solution {int ans;int depth(TreeNode* rt){if (rt == NULL) {return 0; // 访问到空节点了,返回0}int L = depth(rt->left); // 左儿子为根的子树的深度int R = depth(rt->right); // 右儿子为根的子树的深度ans = max(ans, L + R + 1); // 计算d_node即L+R+1 并更新ansreturn max(L, R) + 1; // 返回该节点为根的子树的深度}
public:int diameterOfBinaryTree(TreeNode* root) {ans = 1;depth(root);return ans - 1;}
};

遍历每个节点为根节点,找出的该节点左子树和右子树的和的最大值,取那个最大值。用到求二叉树高的知识。

参考地址:https://leetcode-cn.com/problems/diameter-of-binary-tree/solution/er-cha-shu-de-zhi-

京东面试题:二叉树直径相关推荐

  1. 京东面试题:Java中 ++i 的操作是线程安全的么?为什么?如何使其线程安全呢?

    转载自 相关文章 你真的了解volatile关键字吗?http://blog.csdn.net/FansUnion/article/details/79495080 面试题:为什么最后两行没有运行?h ...

  2. CSS元素的基本应用(附加京东面试题)

    ONE! 列表~ 列表分为有序列表和无序列表还有定义列表(ul和ol,dl) ul 无序列表 ul它天生自带内边距  还有一个 p 标签也是天生就自带内边距的(内边距 padding) list-st ...

  3. 2015年京东面试题

    一面 1.自我介绍 2.聊项目 3.问简历 4.你有什么问题要问我吗? 二面 1.自我介绍 2.你用过哪些数据库? 3.学过网络吧,谈一下TCP/UDP吧 4.进程通信的方式有哪些? 5.在C/C++ ...

  4. 京东面试题:ElasticSearch深度分页解决方案

    前言 Elasticsearch 是一个实时的分布式搜索与分析引擎,在使用过程中,有一些典型的使用场景,比如分页.遍历等. 在使用关系型数据库中,我们被告知要注意甚至被明确禁止使用深度分页,同理,在 ...

  5. 新鲜出炉的京东面试题

    京东面试 1.redis的数据结构分别有什么,各数据结构的底层原理如何实现(zset与set的区别,zset的底层实现.zset如何实现分页功能?(例子:ZRANGEBYSCORE zset01(ke ...

  6. 京东面试题(JAVA)

    京东17号一面问题与回答情况(Java岗) 作者:牛客190525号 Q1: HashMap的原理, 以及HashMap如何扩充bucket的大小 A1: 原理答上来了,如何扩容瞎答的,之前不知道扩容 ...

  7. 京东面试题,N只熊分苹果

    如上图所示的题目: 1.从最小来入手,可以首先假设最后一个熊拿到的苹果是1个,那么当时剩余的苹果就有n-1个 2.那么上一只熊分完之后苹果有sum=n个,分之前的苹果有sum/(n-1)*n+1个,同 ...

  8. 京东面试题: 小东抛小球

    题目 ⼩东和三个朋友⼀起在楼上抛⼩球,他们站在楼房的不同层,假设⼩东站的楼层距离地⾯N⽶,球从他⼿⾥⾃由落下,每次落地后反跳回上次下落⾼度的⼀半,并以此类推知道全部落到地⾯不跳,求4个⼩球⼀共经过了多 ...

  9. 京东面试题--小东分苹果

    题目描述: 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后 ...

最新文章

  1. DNC-cs6200 ospfv3
  2. mysql多大_mysql的innodb表到底占用多大的空间?
  3. Android底层开发之Audio HAL Android Audio Overview
  4. ACM国际大学生程序设计竞赛
  5. java jls8_GitHub - scmod/jls8
  6. PAT_1007(中文)_素数对猜想
  7. python函数和方法的编写原则_跟老齐学Python之传说中的函数编写条规
  8. jQuery1.2选择器(1)
  9. mysql cmmand not found
  10. android 名称解释
  11. CCNA 笔记-11
  12. 使用vb脚本实现钉钉重复发送10条消息
  13. Android Studio 修改app名字和图标
  14. iOS App 签名的原理 App 重签名(一)
  15. 孩子学习arduino好还是单片机好
  16. 微信小程序实现手机屏幕左右旋转,页面元素左右移动,小程序加速计
  17. 如何对下拉菜单进行截图
  18. Chrome最好用的插件都在这里了
  19. 神经复杂系统前沿:关于认知大脑的两种观念
  20. educoder实训平台python基础综合测试答案_智慧职教mooc2020Python程序设计基础章节测试答案...

热门文章

  1. 【Android 安全】DEX 加密 ( DEX 加密使用到的相关工具 | dx 工具 | zipalign 对齐工具 | apksigner 签名工具 )
  2. 《精通并发与Netty》学习笔记(13 - 解决TCP粘包拆包(一)概念及实例演示)
  3. 第20条:为私有方法名加前缀
  4. 设置同一Label内涵不同颜色字体
  5. 移动端 像素渲染流水线与GPU Hack
  6. 把权限控制做成用户控件--简易型
  7. SqlServer项目经验:介质集有2个介质簇,但只提供了1个。必须提供所有成员
  8. LIbGDX 示例Tests详解一:AccelerometerTest
  9. 最强一句话大全 www.sh3llc0de.com
  10. 国内小程序生态服务平台即速应用完成5000万元A+轮融资