我被卡住了,因为我不知道如何获取非二叉树中特定节点的所有子节点。
例如,根节点是 A。
A = {B, C}
B = {D, E, F}
E = {G}
我想得到 B = {D, E, F, G} 的所有子节点
我能怎么做?非常感谢。
您可以递归获取子节点。
首先,遍历树以获得初始节点B。之后,应用这个递归伪代码:
void get_children(Node *node, list<Node*>& res) {
for each child in node->children {
res.add(child);
get_children(child, res);
}
}
Run Code Online (Sandbox Code Playgroud)
传递B到get_children,以及一个空的节点列表。该函数会将所有子项添加到传递给它的列表中。确保通过引用传递您的列表;否则,该函数不会修改您的列表。
| 归档时间: |
|
| 查看次数: |
4528 次 |
| 最近记录: |