【发布时间】:2012-08-10 07:18:38
【问题描述】:
我写了一个代码来查找二叉树的直径。 需要以下建议:
- 我可以在不使用类级别的静态变量的情况下执行此操作吗?
-
算法好吗/有什么建议吗?
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; } }
【问题讨论】:
-
is the algorithm fine?是什么意思。你测试过代码吗? -
arun,当然我已经测试了代码。我的意思是有更好的算法吗?
-
这个问题也可以在Code Review上进行。
-
@Barth,谢谢。不知道代码审查。也会在那里尝试。
-
@Manish 哦,好的。请参考这个geeksforgeeks.org/archives/5687
标签: java algorithm recursion tree binary-tree