Диаметр бинарного дерева -Лучший дизайн

Я написал код для определения диаметра двоичного дерева. Нужны предложения для следующего:

  1. Могу ли я сделать это без использования статической переменной на уровне класса?
  2. Алгоритм в порядке / есть предложения?

    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;
      }
    }
    
14
задан Manish 10 August 2012 в 07:30
поделиться