【发布时间】:2017-03-04 20:40:25
【问题描述】:
我已经创建了使用堆栈跟踪一般树中节点的祖先的函数,但它不起作用需要帮助 (John, 1925) 和 (弗雷德,1900): (弗雷德,1900 年) (John, 1925) 和 (Fred, 1953) 的共同祖先: (约翰,1925 年),(弗雷德,1900 年)
public void Find_FamilyTree(Node node,Node toFind,Stack<Node> st)
{
st.push(node);
if(node.getData().getName().equals(toFind.getData().getName()))
{
st.pop();
}
如果节点是叶节点,则弹出
if(node.getChildrenCount()==0)
{
st.pop();
}
for(Node nodes:node.getChildren())
{
Find_FamilyTree(nodes,toFind,st);
}
}
【问题讨论】:
-
你为什么要从上到下而不是从下往上找呢?
-
因为我不知道节点的父节点。节点只有它的数据和子列表
标签: java recursion data-structures tree stack