题目要求:
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:
- 二叉树的根是数组中的最大元素。
- 左子树是通过数组中最大值左边部分构造出的最大二叉树。
- 右子树是通过数组中最大值右边部分构造出的最大二叉树。
通过给定的数组构建最大二叉树,并且输出这个树的根节点。
思路:使用前序遍历,在数组中遍历到最大的节点,将数组分为左右两个部分,递归地进行处理左右区间构造二叉树即可。也可以不用定义新的数组,在原数组上通过下标索引直接操作。
leetcode实战:
代码实现:
题目要求:
给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下:
通过给定的数组构建最大二叉树,并且输出这个树的根节点。
思路:使用前序遍历,在数组中遍历到最大的节点,将数组分为左右两个部分,递归地进行处理左右区间构造二叉树即可。也可以不用定义新的数组,在原数组上通过下标索引直接操作。
leetcode实战:
代码实现: