我从头开始实现一个树类,我有数据字段和构造函数,如下所示: 公共类TreeNode实现Node { int数据; TreeNode孩子; TreeNode父级; 字符串名称; 布尔访问;
public TreeNode(int data){
this.data = data;
child = null;
parent = null;
name = null;
visited = false;
}
我需要实现的方法之一是getChildren(Node n),它返回一个包含Node n的所有子节点的列表。 我不知道如何找到节点的所有子节点。 谢谢您的帮助!
public List<Node> getChildren() {
List<Node> children = new ArrayList<>();
while(!children.contains(this.child)){
children.add(this.child);}
return children;
}
答案 0 :(得分:0)
您应该在类声明之外声明您的ArrayList,以便您可以在所有方法中使用它。然后,您需要某种方法将新的子节点添加到当前节点,addChild(Treenode child)
负责处理。
public class TreeNode {
private ArrayList<TreeNode> children;
public TreeNode(int data){
children = new ArrayList<>();
}
public void addChild(TreeNode child){
children.add(child);
}
public ArrayList<TreeNode> getChildren(){
return children;
}
}