Ejemplo n.º 1
0
 public static void DepthFirstTraverseTree(TreeNode root, FuncForDealEachNodeWhenDepthFirstTraverse func)
 {
     DepthFirstTraverseTree(root, 0, func);
 }
Ejemplo n.º 2
0
 private static void DepthFirstTraverseTree(TreeNode node, int depth, FuncForDealEachNodeWhenDepthFirstTraverse func)
 {
     int childCount = 0;
     foreach(var child in node.Childrens)
     {
         DepthFirstTraverseTree(child, depth + 1, func);
         childCount++;
     }
     if (func != null)
         func(node, depth, childCount);
 }