一、题目
给定一个不含重复元素的整数数组 nums 。一个以此数组直接递归构建的 最大二叉树 定义如下:
- 二叉树的根是数组 nums 中的最大元素。
- 左子树是通过数组中 最大值左边部分 递归构造出的最大二叉树。
- 右子树是通过数组中 最大值右边部分 递归构造出的最大二叉树。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/01f52ab132a1a9e61896699adb530bdb.png)
二、递归分析
题目要求构建最大二叉树,需要每次从数组中寻找处最大值,然后以该最大值为根节点,划分左右数组,继续构建
采用递归法进行解决
(1)确定递归参数和返回值
为了方便,采用记录数组索引,实现每次从数组找出最大值进行构建
createMaxBinaryTree(nums, 0, nums.length - 1