给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:
二叉树的根是数组中的最大元素。
左子树是通过数组中最大值左边部分构造出的最大二叉树。
右子树是通过数组中最大值右边部分构造出的最大二叉树。
通过给定的数组构建最大二叉树,并且输出这个树的根节点。
分析:注意开闭区间
#include "_myPrint.cpp"
#include "stack"
#include "queue"
using namespace std;
// 给定数组 构造最大二叉树
// 最大二叉树是数组中最大元素为根 该元素左边构造左子树 右边构造右子树 并递归下去
class Solution{
public:
// 递归三要素
// [ ) method
TreeNode* maxBinaryTree(vector<int>& nums, int left, int right)