假設我在樹中有一個節點,我怎樣才能得到其祖先是這個節點的所有葉節點?我已經定義了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