网站建设推广需要多少钱,wordpress站点推荐,金融投资网站开发,江门公司网站制作二叉树的直径 总结#xff1a;两个节点之间最长路径 路径的结点数 - 1题解1 递归——DFS 给你一棵二叉树的根节点#xff0c;返回该树的
直径。 二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的长度由… 二叉树的直径 总结两个节点之间最长路径 路径的结点数 - 1题解1 递归——DFS 给你一棵二叉树的根节点返回该树的
直径。 二叉树的直径是指树中任意两个节点之间最长路径的长度。这条路径可能经过也可能不经过根节点 root 。
两节点之间路径的长度由它们之间边数表示。 提示
树中节点数目在范围 [1, 1 0 4 10^4 104] 内-100 Node.val 100
总结两个节点之间最长路径 路径的结点数 - 1
题解1 递归——DFS
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {// 以某结点开始的路径 经过的 最大结点数// 直径 最大结点数 -1间隔 int maxlen 1;
public:int getdepth(TreeNode* root){if(! root) return 0;// 左树深度int L getdepth(root-left);// 右树深度int R getdepth(root-right);// 按顺序递归保证计算了每个结点的情况// 此root开始的路径经过的最大结点数maxlen max(maxlen, LR1);// depthreturn max(L, R) 1;}int diameterOfBinaryTree(TreeNode* root) {if(! root) return 0;getdepth(root);return maxlen-1;}
};