杭州品牌网站设计制作公司,wordpress后台教程网,wordpress kvstore,河南住房与城乡建设部网站前言 二叉树的题目还是要会一流程构造函数之类的。其中还有回溯的思想 题目链接
654. 最大二叉树 - 力扣#xff08;LeetCode#xff09; 一、最大二叉树 思路#xff1a;还是考察构造二叉树#xff0c;简单来说就是给你一个数组去构建一个二叉树#xff0c;递归来解决就…前言 二叉树的题目还是要会一流程构造函数之类的。其中还有回溯的思想 题目链接
654. 最大二叉树 - 力扣LeetCode 一、最大二叉树 思路还是考察构造二叉树简单来说就是给你一个数组去构建一个二叉树递归来解决就可以复杂来说给你一个数组构建一颗每个节点都最大的数。所以我们先循环找到一个最大的根节点然后再左边和右边构建即可。根节点去划分区间 TreeNode* traversal(vectorint nums,int left,int right){if(leftright) return nullptr;int maxValueIndexleft;for(int ileft1;iright;i){if(nums[i]nums[maxValueIndex]) maxValueIndexi;}TreeNode* rootnew TreeNode(nums[maxValueIndex]);root-lefttraversal(nums,left,maxValueIndex);root-righttraversal(nums,maxValueIndex1,right);return root;}TreeNode* constructMaximumBinaryTree(vectorint nums) {return traversal(nums,0,nums.size());} 二、合并二叉树 三、二叉搜索树中的搜索 四、验证二叉搜索树