如何打造高端咨询类网站以吸引目标客户群体?
摘要:咨询类网站建设方案书,高端建设网页,守望轩 wordpress,海外电商有哪些平台654. 最大二叉树 题目链接 题目描述: 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下&
咨询类网站建设方案书,高端建设网页,守望轩 wordpress,海外电商有哪些平台654. 最大二叉树
题目链接
题目描述#xff1a; 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下#xff1a;
二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最…654. 最大二叉树
题目链接
题目描述 给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下
二叉树的根是数组中的最大元素。 左子树是通过数组中最大值左边部分构造出的最大二叉树。 右子树是通过数组中最大值右边部分构造出的最大二叉树。 通过给定的数组构建最大二叉树并且输出这个树的根节点。
示例 提示
给定的数组的大小在 [1, 1000] 之间。 nums 中的所有整数 互不相同
难点
不能排序排序会丢失左右位置信息构造树采用递归前序遍历如何保留父节点信息保证构造链不断
思路
时间复杂度O() 空间复杂度O()
class Solution {public TreeNode constructMaximumBinaryTree(int[] nums) {TreeNode root constructNode(nums, 0, nums.length);return root;}private TreeNode constructNode(int[] nums, int left, int right) {if (left right) {return null;}if (right - left 1) {return new TreeNode(nums[left]);}int maxValue 0;int maxIdx 0;for (int i left; i right; i) {if (nums[i] maxValue) {maxIdx i;maxValue nums[i];}}TreeNode root new TreeNode(maxValue);root.left constructNode(nums, left, maxIdx);root.right constructNode(nums, maxIdx1, right);return root;}
}时长 40min
收获 构造返回类型为TreeNode的递归函数 617. 合并二叉树
题目链接
题目描述 给定两个二叉树想象当你将它们中的一个覆盖到另一个上时两个二叉树的一些节点便会重叠。
你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠那么将他们的值相加作为节点合并后的新值否则不为 NULL 的节点将直接作为新二叉树的节点。
示例 1: 注意: 合并必须从两个树的根节点开始。
