Ejemplo n.º 1
0
        private static IList <LeetCode95TreeNode> BuildTree(int start, int end)
        {
            var trees = new List <LeetCode95TreeNode>();

            if (start > end)
            {
                trees.Add(null);
                return(trees);
            }

            for (int i = start; i <= end; i++)
            {
                var leftTrees  = BuildTree(start, i);
                var rightTrees = BuildTree(i + 1, end);
                foreach (var left in leftTrees)
                {
                    foreach (var right in rightTrees)
                    {
                        var currentTree = new LeetCode95TreeNode(i);
                        currentTree.left  = left;
                        currentTree.right = right;

                        trees.Add(currentTree);
                    }
                }
            }
            return(trees);
        }
Ejemplo n.º 2
0
 public LeetCode95TreeNode(int val = 0, LeetCode95TreeNode left = null, LeetCode95TreeNode right = null)
 {
     this.val   = val;
     this.left  = left;
     this.right = right;
 }