【LeetCode】【HOT】543. 二叉树的直径

文章目录

  • 【LeetCode】【HOT】543. 二叉树的直径

package hot;class TreeNode{int val;TreeNode left;TreeNode right;TreeNode(int val){this.val = val;}
}public class Solution543 {public static void main(String[] args) {TreeNode node1 = new TreeNode(1);TreeNode node2 = new TreeNode(2);TreeNode node3 = new TreeNode(3);TreeNode node4 = new TreeNode(4);TreeNode node5 = new TreeNode(5);node1.left = node2;node1.right = node3;node2.left = node4;node2.right = node5;Solution543 solution = new Solution543();System.out.println(solution.method(node1));}int res;private int method(TreeNode root){res = 1;recur(root);return res - 1;}private int recur(TreeNode root){if(root == null){return 0;}int L = recur(root.left);int R = recur(root.right);res = Math.max(res, L+R+1);return Math.max(L, R) + 1;}
}//时间复杂度为 O(n)
//空间复杂度为 O(n)

【LeetCode】【HOT】543. 二叉树的直径(递归)相关推荐

  1. LeetCode Algorithm 543. 二叉树的直径

    543. 二叉树的直径 Ideas 这题貌似也在左神算法里见过. 基本思想就是递归,根节点从左子树获得一个想要的信息,从右子树获得一个想要的信息,然后对两个信息进行处理. 其实可以把直径分成两半看:从 ...

  2. Java实现 LeetCode 543 二叉树的直径

    543. 二叉树的直径 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点. 示例 : 给定二叉树 1/ \ 2 3 / \ 4 5 ...

  3. 543.二叉树的直径

    543.二叉树的直径 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 本题需要明确二叉树的直径计算方法: 二叉树的直 ...

  4. 543. 二叉树的直径

    543. 二叉树的直径 描述 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 示例 : 给定二叉树 1/ \2 3/ ...

  5. 543. 二叉树的直径 golang

    文章目录 543. 二叉树的直径 example 正确解法 question 代码(wrong) 543. 二叉树的直径 概要: 借鉴了这个题的代码.可是有一个测试用例过不去 https://blog ...

  6. LeetCode 543. 二叉树的直径(DFS)

    1. 题目 给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点. 示例 : 给定二叉树1/ \2 3/ \ 4 5 返回 3, 它的长 ...

  7. leetcode - 543. 二叉树的直径

    给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过根结点. 示例 : 给定二叉树 解题思路:使用递归,注意递归和迭代的区别 class So ...

  8. LeetCode 543二叉树的直径-简单

    给定一棵二叉树,你需要计算它的直径长度.一棵二叉树的直径长度是任意两个结点路径长度中的最大值.这条路径可能穿过也可能不穿过根结点. 示例 : 给定二叉树 1/ \2 3/ \ 4 5 返回 3, 它的 ...

  9. 【LeetCode笔记】543. 二叉树的直径(Java、dfs、二叉树)

    文章目录 题目描述 思路 & 代码 题目描述 思路 & 代码 由这个结论考虑:直径中一定有一个父结点,那么当前直径长度就是: 当前父结点的左子树深度 + 右子树深度 那么,只要遍历所有 ...

最新文章

  1. K-d tree 算法
  2. ApacheCN 数据科学/人工智能/机器学习知识树 2019.2
  3. python画图-python画图汇总(持续更新)
  4. SAP Spartacus organization unit list的实现Component
  5. python2转python3代码_Python2代码转成Python3代码
  6. EMNLP 2021 | 百度:多语言预训练模型ERNIE-M
  7. MATLAB中的for循环
  8. NoSQL的分类入门
  9. 忘记windows密码怎么办,教你五招!
  10. Element修改图标大小,设置颜色
  11. Python数据分析 | (31) 透视表和交叉表
  12. (C语言)有一个已排好序的数组,要求输入一个数字后,按原来的排序规律将它插入数组
  13. 深度学习进行时间序列模式识别
  14. Linux生产环境CPU使用率100%,教你定位到具体函数
  15. Vidyo提供的云化视频会议与传统的视频会议有什么区别?
  16. c语言 operator,C语言讲义——运算符(operator)
  17. 支付宝小程序唤起独立签约
  18. 在Unity使用键盘控制摄像机的移动以及用鼠标滚轮控制摄像机视野放大和缩小
  19. HTML代码中的空格和空行
  20. 写在过年之前:我做逆向工程师的这半年

热门文章

  1. java 各种数据库连接_JAVA连接各种数据库
  2. c语言指针填空题目,C语言指针题目实战
  3. Spring Boot 2.2 增加了一个新功能,启动飞起~
  4. Java5~11新特性
  5. 牛客网——约数的个数
  6. pandas dataframe 一行变多行 (query pv统计term pv)
  7. __mmc_claim_host
  8. CaseStudy-数据缓存出错
  9. 解读:百度官方公告对于6.22、6.28事件解释
  10. 【Vegas原创】巧用GridView ButtonField列