543. Diameter of Binary Tree
Last updated
Last updated
// Definition for a binary tree node.
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;
}
}/**
* Time complexity :
* Space complexity :
*/
class Solution {
private int diameter = 0;
public int diameterOfBinaryTree(TreeNode root) {
getDiameter(root);
return diameter;
}
private int getDiameter(TreeNode node) {
if(node == null) {
return 0;
}
int lh = getDiameter(node.left);
int rh = getDiameter(node.right);
diameter = Math.max(diameter, lh+rh);
return 1 + Math.max(lh, rh);
}
}