任务就在这里。我们有一个类,调用节点,实例是“节点”。这个节点有很多子节点,这些子节点也有很多子节点,等等。我怎么能计算出这棵树的最高层呢?等等:
这棵树中最高的级别是4( level 1.1.2.1的级别,节点的级别是0),请帮助我!我知道,我应该使用递归方法,但我不知道如何解决这个问题,并编写代码.请..。谢谢!该方法应首先:
public int maxLevel(NODE node){...发布于 2012-10-07 21:57:20
此方法返回基本大小写的级别为1(有0个子):
public int maxLevel() {
int maxChildLevel = 0;
for (Node child : children) {
maxChildLevel = Math.max(maxChildLevel, child.maxLevel());
}
return maxChildLevel + 1;
}此示例的目的是将maxLevel声明为Node的实例方法,因此不需要将Node作为参数。
发布于 2012-10-07 22:02:02
你可以试试这样的东西:
public static int maxLevel(Node node) {
if (node.children.length == 0) return 1;
int max = maxLevel(node.children[0]);
for (int i = 1 ; i < node.children.length ; i++) {
int n = maxLevel(node.children[i]);
if (n > max) max = n;
}
return max + 1;
}其中node.children是由node的子节点组成的数组。
https://stackoverflow.com/questions/12773160
复制相似问题