我有以下树
A
+-B
+-C
| +-D
| +-E
+-F
+-G
+-H
我试图找到B, D, E, G, H
。
排除拥有树的节点并保留其子节点。
答案 0 :(得分:2)
您可以在TreeNodes列表中递归收集子项:
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);
}