From c813a12cd9980a84609d6455e388638c1507cbf8 Mon Sep 17 00:00:00 2001 From: Sri Harsha Damarla Date: Thu, 18 Jun 2026 08:33:27 +0530 Subject: [PATCH] tree diameter --- src/com/dsa/trees/LevelOrderTraversal.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/com/dsa/trees/LevelOrderTraversal.java b/src/com/dsa/trees/LevelOrderTraversal.java index a200ee0..7e823a2 100644 --- a/src/com/dsa/trees/LevelOrderTraversal.java +++ b/src/com/dsa/trees/LevelOrderTraversal.java @@ -76,6 +76,22 @@ public class LevelOrderTraversal { return res; } + private static int diameter = 0; + public static int diameterOfBinaryTree(TreeNode root) { + diameter = 0; + if (root == null) return 0; + heightOfBT(root); + return diameter - 1; + } + + public static int heightOfBT(TreeNode root) { + if (root == null) return 0; + int leftHeight = heightOfBT(root.left); + int rightHeight = heightOfBT(root.right); + diameter = Math.max(leftHeight + rightHeight + 1, diameter); + return Math.max(leftHeight, rightHeight) + 1; + } + public static int minDepth(TreeNode root) { if(root == null) return 0; int leftHeight = minDepth(root.left);