Пример #1
0
        // return [lo .. hi] tree
        private static LeetCode654TreeNode Build(int[] nums, int lo, int hi)
        {
            if (lo > hi)
            {
                return(null);
            }

            var index = 0;
            var max   = int.MinValue;

            for (int i = lo; i <= hi; i++)
            {
                if (max < nums[i])
                {
                    max   = nums[i];
                    index = i;
                }
            }

            var root = new LeetCode654TreeNode(max);

            root.left  = Build(nums, lo, index - 1);
            root.right = Build(nums, index + 1, hi);
            return(root);
        }
Пример #2
0
 public LeetCode654TreeNode(int val = 0, LeetCode654TreeNode left = null, LeetCode654TreeNode right = null)
 {
     this.val   = val;
     this.left  = left;
     this.right = right;
 }