当前位置: 首页 > news >正文

LeetCode: 二叉树的直径(java)

二叉树的直径

  • leetcode 543题。原题链接
  • 题目描述
  • 解题代码
  • 二叉树专题

leetcode 543题。原题链接

543题:二叉树的直径

题目描述

给你一棵二叉树的根节点,返回该树的 直径 。
二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的 长度 由它们之间边数表示。

在这里插入图片描述
输入:root = [1,2,3,4,5]
输出:3
解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 的长度。

示例2:
输入:root = [1,2]
输出:1

提示:
树中节点数目在范围 [1, 104] 内
-100 <= Node.val <= 100

解题代码

思路:
用递归方式去解题,递归左树和右树时,用一个变量去保存最长距离,然后每次递归时返回当前最左树和右树比较下来的最大值。

1.leetcode 提供的树结构

* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/

2.解题代码

class Solution {int max=0;public int diameterOfBinaryTree(TreeNode root) {process(root);return max;}//递归public int process(TreeNode root){if(root == null){return 0;}   int left = process(root.left);int right = process(root.right);//每次去更新最大距离max = Math.max(max,left + right);//返回最大长度进行下次递归的判断。return  Math.max(left , right) + 1;}
}

二叉树专题

从前序与中序遍历序列构造二叉树(java)

leetcode二叉树中的最大路径和(java)

二叉树的递归–判断二叉树是否是满二叉树(java实现)

二叉树:填充每个节点的下一个右侧节点指针(java)

http://www.lryc.cn/news/90192.html

相关文章:

  • springboot+vue+java旅行旅游景点酒店预订出行订票系统eaog5
  • Linux :: 【基础指令篇 :: 用户管理:(2)】::设置用户密码(及本地Xshell 登录云服务器操作演示) :: passwd
  • img[:, :, ::-1] 通俗理解
  • 基于springboot+vue+elementui的健身房会员管理系统的
  • 在酒店房间中的数据库索引
  • Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
  • Stack 栈的实现与应用
  • CSDN中如何获得铁粉(用心篇)
  • es 三 安装 es 安装kibana
  • 牛客HJ43迷宫问题 - 创建智能体通过策略自己找路
  • 测试报告模板一
  • 抖音账号矩阵系统源码/技术开发搭建私有化部署开源
  • OpenSSL加密解密文件
  • PAT A1070 Mooncake
  • MyBatis- plus
  • Java --- 期末复习卷
  • File类与IO流相关面试知识(一)
  • 009 - STM32学习笔记 - 中断
  • 分享几种js格式化金额的方法
  • 圣墟传说H5手工端搭建架设教程
  • 编程(40)----------单例模式
  • Java开发 - 让你少走弯路的Redis主从实现单节点哨兵模式
  • Java的Atomic原子类
  • 离线语音控制新方案,NRK3303语音识别芯片在智能风扇的应用
  • 在树莓派3B+上安装Pytorch1.7
  • Java性能权威指南-总结4
  • c语言全局变量和局部变量问题汇总
  • 14.3:给定一个由字符串组成的数组strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中字典序最小的结果
  • C++ 项目实战:跨平台的文件与视频压缩解压工具的设计与实现
  • C和指针(二)数据