假设我在树中有一个节点,我怎样才能得到其祖先是这个节点的所有叶节点?我已经定义了TreeNode,像这样:如何获取树的所有叶节点?
public class TreeNode<T>
{
/** all children of the node */
private List<TreeNode<T>> children = new ArrayList<TreeNode<T>>();
/** the parent of the node, if the node is root, parent = null */
private TreeNode<T> parent = null;
/** the stored data of the node */
private T data = null;
/** the method I want to implement */
public Set<TreeNode<T>> getAllLeafNodes()
{
Set<TreeNode<T>> leafNodes = new HashSet<TreeNode<T>>();
return leafNodes;
}
}
继续穿越儿童,所有那些有空儿童名单的孩子都要离开?有什么问题? – SMA
叶节点应该有空的儿童列表;所以你可以在你的节点上实现一个方法isLeaf()。然后你将不得不递归检查你的节点的所有孩子。 –
问题解决了,谢谢大家 – Frank