【发布时间】:2014-11-01 17:40:33
【问题描述】:
我有以下树
A
+-B
+-C
| +-D
| +-E
+-F
+-G
+-H
我正在寻找B, D, E, G, H。
排除有树的节点,只保留它们的子节点。
【问题讨论】:
我有以下树
A
+-B
+-C
| +-D
| +-E
+-F
+-G
+-H
我正在寻找B, D, E, G, H。
排除有树的节点,只保留它们的子节点。
【问题讨论】:
您可以在 TreeNode 列表中递归地收集子节点:
List<TreeNode> children = new List<TreeNode>();
foreach(TreeNode node in TV.Nodes) collectChildren(node);
void collectChildren(TreeNode node)
{
if (node.Nodes.Count == 0) children.Add(node)
else foreach(TreeNode n in node.Nodes) collectChildren(n);
}
【讨论】: