【二叉树】【递归】Leetcode 543. 二叉树的直径
- 解法1
---------------🎈🎈题目链接🎈🎈-------------------
解法1
class Solution {
int result= 0; // 定义一个全局变量result收获每一个节点为转折点的长度
public int diameterOfBinaryTree(TreeNode root) {
helper(root);
return result;
}
public int helper(TreeNode root){
if(root == null){
return 0;
}
int left = helper(root.left); // 左边子树的深度
int right = helper(root.right); // 右边子树的深度
//全局变量result收获每一个节点为转折点的长度 = left(左边的深度)+right(右边的深度) 和之前的 选大的
result = Math.max(result, left+right);
return Math.max(left,right)+1; //递归得到当前节点的深度
}
}