Java 确定树中的节点是否已满
我试图确定m元树中的所有节点是否都已满。我想我已经大致了解了,但我不确定。这是我到目前为止所做的 在我的TreeNode类中,我有以下方法Java 确定树中的节点是否已满,java,recursion,tree,nodes,Java,Recursion,Tree,Nodes,我试图确定m元树中的所有节点是否都已满。我想我已经大致了解了,但我不确定。这是我到目前为止所做的 在我的TreeNode类中,我有以下方法 public class TreeNode { private String label; private String message; private TreeNode[] nodes; private int numChildren; private TreeNode
public class TreeNode
{
private String label;
private String message;
private TreeNode[] nodes;
private int numChildren;
private TreeNode parent;
private String prompt;
***other methods and constructors***
public boolean isFull()
{
for(int i = 0; i < numChildren; ++i)
{
if(nodes[i] == null)
return false;
}
return true;
}
公共类树节点
{
私有字符串标签;
私有字符串消息;
私有树节点[]节点;
私立幼儿园;
私有树节点父节点;
私有字符串提示;
***其他方法和构造函数***
公共布尔值isFull()
{
for(int i=0;i
其中numChildren是数组节点[](或nodes.length)中可能的子节点总数,nodes[]是当前节点的所有子节点的数组。
另外,知道我的树节点是双链接的可能会有所帮助,因此如果需要,我可以检索当前节点的父节点
然后,在我的树类中,我有以下递归方法
public boolean allNodesFull(TreeNode n)
{
boolean allFull = false;
if(!n.isFull())
{
return allFull;
}
for (int i = 0; i < n.getNumChildren(); ++i)
{
allFull = allNodesFull(n.getChild(i));
}
return allFull;
}
public boolean allNodesFull(树节点n)
{
布尔allFull=false;
如果(!n.isFull())
{
全部归还;
}
for(int i=0;i
尚未测试,希望您已经准备好测试用例,并告诉我们它是否有效;)
public boolean allNodesFull(树节点n){
如果(!n.isFull()){
返回false;
}
for(int i=0;i
现在的方式allFull
永远不会是true
。
public boolean allNodesFull(TreeNode n) {
if(!n.isFull()) {
return false;
}
for (int i = 0; i < n.getNumChildren(); ++i) {
if (!allNodesFull(n.getChild(i))) {
return false;
}
}
return true;
}