Diameter of Binary Tree - Better Design

前端 未结 11 2045
闹比i
闹比i 2020-12-23 15:14

I have written a code for finding diameter of Binary Tree. Need suggestions for the following:

  1. Can I do this without using static variable at class level?
11条回答
  •  失恋的感觉
    2020-12-23 15:48

    There is a minimal O(n) answer compared to the accepted one.

    int DiameterTree(BinaryTreeNode root, int diameter) {
        int left, right;
        if (!root) return 0;
    
        left  = DiameterTree(root.getLeft(), diameter);
        right = DiameterTree(root.getRight(), diameter);
        if (left + right > diameter) diameter = left + right;
    
        return Math.max(left, right) + 1;
    }
    

    Assume diameter is a static variable in class.

提交回复
热议问题