LeetCode 543. 【递归】二叉树的直径
原题链接
简单
作者:
大明湖的鱼
,
2021-01-14 10:51:58
,
所有人可见
,
阅读 313
思路
- 本质就是求左右子树最大的高度和
代码
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
int max_diameter = 0;
int diameterOfBinaryTree(TreeNode* root) {
depth(root);
return max_diameter;
}
int depth(TreeNode* root){
if(root == NULL) return 0;
int left = depth(root->left);
int right = depth(root->right);
max_diameter = max(max_diameter,left+right);
return max(left,right)+1; //这里第一次写成了 return left+right+1;
}
};