当前位置: 首页 > news >正文

js网站开发工具家具网站开发环境与工具

js网站开发工具,家具网站开发环境与工具,自己如何申请域名,设计一个logo目录 一、669. 修剪二叉搜索树 二、108. 将有序数组转换为二叉搜索树 三、538. 把二叉搜索树转换为累加树 一、669. 修剪二叉搜索树 题目链接#xff1a;力扣 文章讲解#xff1a;代码随想录 视频讲解#xff1a; 你修剪的方式不对#xff0c;我来给你纠正一下#…目录 一、669. 修剪二叉搜索树 二、108. 将有序数组转换为二叉搜索树 三、538. 把二叉搜索树转换为累加树 一、669. 修剪二叉搜索树 题目链接力扣 文章讲解代码随想录 视频讲解 你修剪的方式不对我来给你纠正一下| LeetCode669. 修剪二叉搜索树 题目 给你二叉搜索树的根节点 root 同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即如果没有被移除原有的父代子代关系都应当保留)。 可以证明存在 唯一的答案 。 所以结果应当返回修剪好的二叉搜索树的新的根节点。注意根节点可能会根据给定的边界发生改变。 代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:/*TreeNode* trimBST(TreeNode* root, int low, int high) {//没有很好的利用搜索树左小右大的特性if (!root) return root;root-left trimBST(root-left, low, high);root-right trimBST(root-right, low, high);if (root-val low || root-val high){if (!root-left) return root-right;else if (!root-right) return root-left;else{TreeNode* new_node root-left;while(new_node-right) new_node new_node-right;new_node-right root-right;root root-left;}}return root;//递归法if(!root) return NULL;if(root-val low) return trimBST(root-right, low, high);if(root-val high) return trimBST(root-left, low, high);root-left trimBST(root-left, low, high);root-right trimBST(root-right, low, high);return root;}*///递归法TreeNode* trimBST(TreeNode* root, int low, int high) {if (!root) return nullptr;//将根节点移到合理范围内while (root (root-val low || root-val high))if (root-val low) root root-right;else root root-left;TreeNode *node root;// 处理左子树处理左子树的过程中合理继续向左node的右子树一定合理)不合理就向右node的左子树一定不合理if(!root) return NULL;for (;node-left;) if(node-left-val low) node-left node-left-right;else node node-left;// 处理右子树处理右子树的过程中合理继续向右node的左子树一定合理)不合理就向左node的右子树一定不合理for (node root;node-right;)if (node-right-val high)node-right node-right-left;else node node-right;return root;} }; 时间复杂度: O(n)                                        空间复杂度: O(1) ⏲9:13 总结1.考虑二叉搜索树特性如果root结点不符合条件那么左右子树有一个必不符合条件另一个可能存在不符合条件的结点。 2.不考虑特性则要删除root结点则需要参考二叉树删除结点的方法。 二、108. 将有序数组转换为二叉搜索树 题目链接力扣 文章讲解代码随想录 视频讲解构造平衡二叉搜索树| LeetCode108.将有序数组转换为二叉搜索树 题目给你一个整数数组 nums 其中元素已经按 升序 排列请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* bulid(vectorint nums, int begin, int end){if(begin end) return NULL;int mid ((end - begin)1) begin;TreeNode* root new TreeNode(nums[mid]);root-left bulid(nums, begin, mid-1);root-right bulid(nums, mid1, end);return root;}TreeNode* sortedArrayToBST(vectorint nums) {return bulid(nums, 0, nums.size()-1);} }; 时间复杂度: O(n)                                        空间复杂度: O(logn) ⏲4:11 总结1.根据数组构造二叉树考虑分治来递归。二叉搜索树要求顺序则左子树在root左边右子树在root右边。平衡二叉树要求左右结点数相近则root结点选取mid。 三、538. 把二叉搜索树转换为累加树 题目链接力扣 文章讲解代码随想录 视频讲解普大喜奔二叉树章节已全部更完啦| LeetCode538.把二叉搜索树转换为累加树 题目给出二叉 搜索 树的根节点该树的节点值各不相同请你将其转换为累加树Greater Sum Tree使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下二叉搜索树满足下列约束条件 节点的左子树仅包含键 小于 节点键的节点。 节点的右子树仅包含键 大于 节点键的节点。 左右子树也必须是二叉搜索树。代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/ class Solution { public:TreeNode* pre;TreeNode* convertBST(TreeNode* root) {if (!root) return NULL;convertBST(root-right);if (pre) root-val pre-val;pre root;convertBST(root-left);return root;} }; 时间复杂度: O(n)                                        空间复杂度O(n) ⏲2:21 总结1、观察知所谓累计所有比自己大的结点的值在二叉搜索树(中序遍历可变为有序数组)中可表现为自身的值加上上一个结点的值已经累加过即可。故采用反中序遍历即从大到小进行累加。 2、迭代法可通过构造线索二叉树将空间复杂度压缩为O(1)。
http://www.hkea.cn/news/14355406/

相关文章:

  • 网站建设技能直播网站做收入流水
  • 电子商务网站建设完整详细流程js网站变灰色代码
  • 咸阳网站建设专业公司深圳app开发公司大概价格
  • 婚纱摄影手机网站欣赏seo搜索引擎优化价格
  • 购买源码的网站邢台信息港招聘
  • 长沙专业外贸网站建设有了域名之后如何做网站
  • 网站的弹窗是用什么软件做的安卓app怎么开发
  • 如何管理手机网站源码购物网站做兼职
  • 新乡商城网站建设哪家好电子商务是什么职业
  • 网站建设ppt方案百度网页版官方
  • 网站后台购买企业建设网站对客户的好处
  • 网站设计网站维护百度渠道开户哪里找
  • 保护环境网站模板专业集团门户网站建设公司
  • 做二手物资买卖的网站微信网站对接
  • 怎样做淘宝联盟网站邹平建设局网站
  • phpcms手机网站怎么做品牌形象策划设计公司
  • 有网站怎么做seo推广辽宁鹤城建设集团网站
  • 盐城网站关键词优化360网页设计尺寸
  • 管庄地区网站建设湖北建设厅造价网站
  • 网站统计源码下载创业商机网加工项目
  • 镇江企业做网站国际最新军事新闻
  • 淘宝内部卷网站怎么做域名查询网站信息
  • 延安网站设计文昌网站 做炸饺子
  • 满城区建设局网站wordpress 添加目录权限
  • WordPress多站点绑定域名网站宣传标语
  • 网站策划要遵循的原则广州网站建设公司排行
  • 网站微建站wordpress安装文件下载
  • 想注册个人网站全网营销的概念和特点
  • h5游戏网站开发小程序注册失败怎么办
  • 城乡建设部网站稽查执法专栏教学网站开发应用方案