Я написал код для поиска диаметра двоичного дерева. Вам понадобятся следующие предложения:
- Могу ли я сделать это без использования статической переменной на уровне класса?
-
Отличен ли алгоритм/какие-либо предложения?
public class DiameterOfTree { public static int diameter = 0; public static int getDiameter(BinaryTreeNode root) { if (root != null) { int leftCount = getDiameter(root.getLeft()); int rightCount = getDiameter(root.getRight()); if (leftCount + rightCount > diameter) { diameter = leftCount + rightCount; System.out.println("---diameter------------->" + diameter); } if ( leftCount > rightCount) { return leftCount + 1; } return rightCount + 1; } return 0; } }