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

计算机网站建设文献综述苏州网站建设一站通

计算机网站建设文献综述,苏州网站建设一站通,Wordpress慢加内存还是带宽,建设网站找谁目录 669. 修剪二叉搜索树 前言 思路 递归法 108.将有序数组转换为二叉搜索树 前言 递归法 538.把二叉搜索树转换为累加树 前言 递归法 总结 669. 修剪二叉搜索树 题目链接 文章链接 前言 本题承接昨天二叉搜索树的插入和删除操作题目#xff0c;要对整棵二叉搜索树…目录 669. 修剪二叉搜索树 前言 思路 递归法 108.将有序数组转换为二叉搜索树 前言 递归法 538.把二叉搜索树转换为累加树 前言 递归法 总结 669. 修剪二叉搜索树 题目链接 文章链接 前言 本题承接昨天二叉搜索树的插入和删除操作题目要对整棵二叉搜索树进行遍历修剪。 思路 因为要遍历整棵二叉搜索树因此不需要返回值也可以我们可以完成修剪的操作但是有返回值更方便可以通过递归函数的返回值来移除节点。 递归法 /*** 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 NULL) return NULL;if (root-val low){//寻找右子树符合区间的节点TreeNode* right trimBST(root-right, low, high);return right;}if (root-val high){//寻找左子树符合区间的节点TreeNode* left trimBST(root-left, low, high);return left;}root-left trimBST(root-left, low, high); root-right trimBST(root-right, low, high); return root; } }; 思路同前几题依然是通过返回本次节点给上一层上一层用左右孩子接住下一层的返回值。 108.将有序数组转换为二叉搜索树 题目链接 文章链接 前言 题目强调得到的二叉搜索树必须平衡因此不可以采用简单的线性结构构造二叉搜索树。要将有序数组的中值作为根节点左侧作为左子树右侧作为右子树。 递归法 /*** 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 { private:TreeNode* traversal(vectorint nums, int left, int right){if (left right) return NULL;int mid left (right - left) / 2;TreeNode* root new TreeNode(nums[mid]);root-left traversal(nums, left, mid - 1);root-right traversal(nums, mid 1, right);return root;} public:TreeNode* sortedArrayToBST(vectorint nums) {TreeNode* root traversal(nums, 0, nums.size() - 1);return root;} }; 在确定数组中值的时候以及递归时左右边界的确定要严格根据遵守二分法本题算法采用左闭右闭的区间形式。 538.把二叉搜索树转换为累加树 题目链接 文章链接 前言 将二叉搜索树转化为累加树本质上和数组逆序累加求和的思路一致难点在于二叉树的遍历顺序。 递归法 /*** 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 { private:int pre 0; //记录前一个节点的数值void traversal(TreeNode* cur){if (cur NULL) return;traversal(cur-right);cur-val pre;pre cur-val;traversal(cur-left);} public:TreeNode* convertBST(TreeNode* root) {pre 0;traversal(root);return root;} }; 本题单层递归采用右中左的逆中序遍历顺序。 总结 二叉树正式完结后期要多回顾总结。
http://www.yingshimen.cn/news/86091/

相关文章:

  • 盐城快速建设网站公司景观平台设计
  • 内蒙古呼和浩特网站建设设计制作生态缸
  • 网站建设代码模板吉林省吉林市有几个区
  • 网页设计与网站建设中的热点是什么如何把网站提交到百度
  • 介绍自己做的网站apache 配置php网站
  • wordpress 小说站主题成都公司网站制作
  • 网站新闻编辑怎么做响应式网站建设如何
  • 手机网站绑定域名是什么意思网络舆情现状分析
  • 可以充值的网站怎么建设上海软件开发工程师工资一般多少
  • 一个网站域名的组成自己设计装修手机软件
  • 长沙网站优化推广php论坛源码下载
  • 淘宝网站建设合同做积分网站
  • phpstudy做网站网页图片居中
  • 广州优化网站建设大地资源在线视频资源
  • 网站开发流程进度表生产企业网站欣赏
  • 厦门网站建设价网站审核备案
  • 做网站不优化字母logo设计生成器
  • 做网站做好用的软件广州做企业网站
  • 东莞网站建设公司好网站建设属营改增范围吗
  • ps可以做网站吗富阳公司做网站
  • 封装系统如何做自己的网站金融投资网站模板
  • golang 网站开发做二手市场类型的网站名字
  • 网站推广意识薄弱网站建设应该列入什么科目
  • 西安网站建设费用腾讯理财是什么样的做网站
  • 简洁大方的网站首页电子商务网站建设与开发
  • 公司网站域名cn和com中小企业信息查询系统
  • 数字媒体技术移动互联网开发适合seo优化的网站制作
  • wordpress 医院模板下载网站 seo 优化 效果
  • qq音乐怎么做mp3下载网站传奇网页版在线玩
  • 深圳网站设计首选柚米上海免费模板建站