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

flash+xml网站模板百度助手安卓版下载

flash+xml网站模板,百度助手安卓版下载,wordpress设置文章固定标题,网站建设是永久性的吗文章目录 108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 题目链接 文章讲解 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* …

文章目录

  • 108.将有序数组转换为二叉搜索树
  • 538.把二叉搜索树转换为累加树
  • 669. 修剪二叉搜索树

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 {
public:// solve 函数递归地将部分数组转换为二叉搜索树TreeNode* solve(vector<int>& nums, int left, int right){// 递归结束条件:当左指针超过右指针时,表示当前区间无有效元素,返回 NULLif(left > right) return NULL;// 计算中间位置的索引,选择数组的中间元素作为当前子树的根节点int mid = left + ((right - left) / 2);  // 防止溢出,采用这种写法计算中点// 创建当前节点的树节点,值为数组中的中间值TreeNode* node = new TreeNode(nums[mid]);// 递归构建左子树:左区间是从 left 到 mid-1node->left = solve(nums, left, mid - 1);// 递归构建右子树:右区间是从 mid+1 到 rightnode->right = solve(nums, mid + 1, right);// 返回当前创建的树节点return node;}// 主函数:将整个排序数组转换为高度平衡的二叉搜索树TreeNode* sortedArrayToBST(vector<int>& nums) {// 调用递归函数,初始时整个数组的区间是从 0 到 nums.size()-1TreeNode* res = solve(nums, 0, nums.size() - 1);// 返回生成的平衡二叉搜索树的根节点return res;}
};

538.把二叉搜索树转换为累加树

题目链接
文章讲解

class Solution {
public:// solve 函数执行逆中序遍历并更新节点值void solve(TreeNode* root, int& k) {if (root == NULL) return;  // 如果节点为空,直接返回// 逆中序遍历:首先遍历右子树solve(root->right, k);// 更新当前节点值:将当前节点的值加上之前访问过的节点的值(k)root->val += k;// 更新 k 为当前节点的值k = root->val;// 最后遍历左子树solve(root->left, k);}// 主函数:将二叉搜索树转换为累加树TreeNode* convertBST(TreeNode* root) {int k = 0;  // 初始化 k 为 0,用于累加solve(root, k);  // 执行逆中序遍历并更新树的节点值return root;  // 返回转换后的树的根节点}
};

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:// 修剪二叉搜索树,返回符合区间 [low, high] 的树TreeNode* trimBST(TreeNode* root, int low, int high) {// 递归的基准条件:如果当前节点为空,则返回 nullptrif (root == nullptr) return nullptr;// 如果当前节点值小于 low,则不需要这个节点和它的左子树,递归修剪右子树if (root->val < low) {TreeNode* right = trimBST(root->right, low, high); // 寻找符合区间 [low, high] 的节点return right; // 返回修剪后的右子树}// 如果当前节点值大于 high,则不需要这个节点和它的右子树,递归修剪左子树if (root->val > high) {TreeNode* left = trimBST(root->left, low, high); // 寻找符合区间 [low, high] 的节点return left; // 返回修剪后的左子树}// 如果当前节点的值在 [low, high] 之间,递归修剪左右子树root->left = trimBST(root->left, low, high); // 修剪左子树root->right = trimBST(root->right, low, high); // 修剪右子树// 返回当前节点(它的左右子树已经被修剪)return root;}
};
http://www.dtcms.com/wzjs/94789.html

相关文章:

  • 南昌英文网站建设如何做网站赚钱
  • 手机版wordpress使用重庆做优化的网络公司
  • 做网站一定要买高清免费观看电视网站
  • 外贸网站平台下载全球最牛的搜索引擎
  • 网站建设资金筹措的方案百度首页排名优化哪家专业
  • 广告业网站开发全国31省市疫情最新消息今天
  • 网站的运营成本seo技术
  • 做网站微信公众号奶茶网络营销策划方案
  • wordpress会员查看发布插件河南网站seo
  • 做区位分析的网站网站制作网站推广
  • 室内设计短期培训学校seo网站排名查询
  • 做电影网站服务器郑州本地seo顾问
  • 企业自助建站系统操作流程常见的网络营销模式
  • 莱山做网站的公司免费创建属于自己的网站
  • 宿迁网站优化排名佛山快速排名seo
  • 百度联盟做网站赚钱网络推广营销技巧
  • 网站注册搜索引擎的目的广告公司排名
  • 自制查询小程序seo搜索引擎优化人才
  • 有了源码然后如何做网站螺蛳粉的软文推广
  • 连锁品牌网站建设百度推广官网
  • 网站建设佰金手指科杰三高端营销型网站建设
  • 企业网站服务器多少钱宝鸡网站开发公司
  • 如何不让百度收录网站企业站seo报价
  • 做网站实现自动生成pdf百度关键词排名点击器
  • 广州网站整站优化百度快照是怎么做上去的
  • 建设网站公司哪家性价比高广东seo
  • 色情网站建设如何建立免费公司网站
  • 家政服务网站建设方案百度sem代运营
  • 大岭山镇做网站唐山seo排名
  • 用js做跳转到其他网站seo是免费的吗