🔗 leetcode.cn/problems/di…
题目
思路
代码
/**
* 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 {
public:
int diameter
int height(TreeNode* node) {
if (node == nullptr) return 0
int l = height(node->left)
int r = height(node->right)
int depth = max(l, r) + 1
diameter = max(diameter, l + r)
return depth
}
int diameterOfBinaryTree(TreeNode* root) {
diameter = 0
height(root)
return diameter
}
}