private static void PrintAllRootLeafpaths(Node node,List<int> elements) { if (node == null) { return; } elements.Add(node.data); if (node.left == null && node.right == null) { Console.WriteLine(elements); elements.ForEach(item => Console.Write(item + " ")); Console.WriteLine(); } PrintAllRootLeafpaths(node.left, elements); PrintAllRootLeafpaths(node.right, elements); elements.RemoveAt(elements.Count - 1); }
public static Node ConstructTree() { Node n1 = new Node(1); Node n2 = new Node(2); Node n3 = new Node(3); Node n4 = new Node(4); Node n5 = new Node(5); Node n6 = new Node(6); Node n7 = new Node(7); n1.left = n2; n1.right = n3; n2.left = n4; n2.right = n5; n3.left = n6; n3.right = n7; return n1; }
public Node(int data) { this.data = data; left = null; right = null; }