1561. [算法课分治] 最大二叉树

给定一个不含重复元素的整数数组 \text{nums}。以此数组直接递归构建的最大二叉树。最大二叉树定义如下:

  • 二叉树的根是数组 \text{nums} 中的最大元素。
  • 左子树是通过数组中最大值左边部分递归构造出的最大二叉树。
  • 右子树是通过数组中最大值右边部分递归构造出的最大二叉树。

返回有给定数组 \text{nums} 构建的最大二叉树 。

输入

输入一行多个数字代表数组 \text{nums}。数字与数字之间用空格隔开。

EOF 作为结束输入(请参考 SCNUOJ 1001 题题解了解如何处理输入)。

  • 1 \leq \text{nums.length} \leq 1000
  • 0 \leq \text{nums[i]} \leq 1000
  • \text{nums} 中的所有整数互不相同

输出

输出一行字符代表二叉树的构造结果(前序遍历),具体请参考样例

样例

标准输入 复制文本
3 2 1 6 0 5
标准输出 复制文本
6 3 null 2 null 1 5 0 null 
标准输入 复制文本
3 2 1
标准输出 复制文本
3 null 2 null 1
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 7059
通过 2686