福州网站建设招聘信息,茶楼网站模板,医疗 企业 网站建设,c 小说网站开发教程二叉树的直径 leetcode 543题。原题链接题目描述解题代码二叉树专题 leetcode 543题。原题链接
543题#xff1a;二叉树的直径
题目描述 给你一棵二叉树的根节点#xff0c;返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也… 二叉树的直径 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 max0;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)