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

如何在社交网站上做视频推广方案在seo优化中

如何在社交网站上做视频推广方案,在seo优化中,网站包503错误,电商运营具体是做什么的Day23——二叉树Ⅸ 669.修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 今日内容: ● 669.修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇 669.修剪二叉搜索树 思路:主要是…

Day23——二叉树Ⅸ

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

今日内容:

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

669.修剪二叉搜索树

在这里插入图片描述
思路:主要是要理解如何删除,左子树小于val就要看左子树的右子树,这一步可以直接用左子树的右子树替换左子树。
遍历二叉树
1. low > root->val,返回root->right的处理结果
2. high < root->val 返回root->left的处理结果
3. 其他情况正常处理左右子树。

	TreeNode* trimBST(TreeNode* root, int low, int high) {if(root == nullptr) return root;if(root->val < low) {root = trimBST(root->right, low, high);} else if(root->val > high) {root = trimBST(root->left, low, high);} else {root->left = trimBST(root->left, low, high);root->right = trimBST(root->right, low, high);}return root;}

迭代法暂时留着

108.将有序数组转换为二叉搜索树

在这里插入图片描述
思路:题本身不难,但是我又卡在了边界判断条件上,缝缝补补才出来,讨厌没有边界感的我!!!
其实还是没搞明白递归结束条件,等会看看题解。。。

	TreeNode* recursion(vector<int>& nums, int left, int right) {if(left > right)return nullptr;int index = left + ((right - left) >> 1);if(index >= nums.size())return nullptr;TreeNode* node = new TreeNode(nums[index]);node->left = recursion(nums, left, index - 1);node->right = recursion(nums, index + 1, right);return node;} TreeNode* sortedArrayToBST(vector<int>& nums) {return recursion(nums, 0, nums.size());}

思考一下,修改了点代码
上面方法的代码之所以越界,是因为当left == right == size的时候,但我的假设是左闭右开,所以sortedArrayToBST传入的是size,因此不能让left==size,并且 node->left = recursion(nums, left, index - 1)传入的right也没必要减1,减1是左闭右闭的思路

	TreeNode* recursion(vector<int>& nums, int left, int right) {// 左闭右开if(left >= right)return nullptr;int index = left + ((right - left) >> 1);// if(index >= nums.size())//     return nullptr;TreeNode* node = new TreeNode(nums[index]);node->left = recursion(nums, left, index);node->right = recursion(nums, index + 1, right);return node;} TreeNode* sortedArrayToBST(vector<int>& nums) {return recursion(nums, 0, nums.size());}

再来个左闭右闭,相等有意义,并且已访问值不再传入

	TreeNode* recursion(vector<int>& nums, int left, int right) {// 左闭右闭if(left > right)return nullptr;int index = left + ((right - left) >> 1);// if(index >= nums.size())//     return nullptr;TreeNode* node = new TreeNode(nums[index]);node->left = recursion(nums, left, index - 1);node->right = recursion(nums, index + 1, right);return node;} TreeNode* sortedArrayToBST(vector<int>& nums) {return recursion(nums, 0, nums.size() - 1);}

好好好,原来刚开始的代码是左闭右闭思路主函数没有减一引起的。

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

在这里插入图片描述
思路:二叉搜索树中序遍历结果为递增(左根右),因此将中序遍历结果加入栈,然后遍历栈,修改元素值即可。
有没有一次遍历就修改的方法呢???想想。。除非倒着来,之前说过倒着来就是回溯,难道把中序遍历结果回溯???不会,看题解
好好好,把中序结果加入栈再出来,那不就是右根左吗。。。

	TreeNode* convertBST(TreeNode* root) {if(root == nullptr) return root;stack<TreeNode*> st;TreeNode* cur = root;int sum = 0;while(cur != nullptr || !st.empty()) {if(cur != nullptr) {st.push(cur);cur = cur->right;} else {cur = st.top();st.pop();sum += cur->val;cur->val = sum;cur = cur->left;}}return root;}

这几种遍历还是没玩明白呀

http://www.yidumall.com/news/62524.html

相关文章:

  • 做的高大上的网站如何做网络推广外包
  • 企业网站建设计什么科目软文推广平台
  • 招商网站开发文档打开百度一下
  • 网站的空间的提供商广西seo公司
  • 建个普通网站多少钱信息流投放平台
  • 用易语言做攻击网站软件滴滴友链
  • 在凡科做网站编辑网络营销的含义的理解
  • 代做网站推广的公司哪家好百度一下一下你就知道
  • 从百万到千万 网站怎么优化网络广告文案案例
  • 成都网站建设-中国互联培训学校资质办理条件
  • 西丽做网站广告图片
  • 免费h5网站模版app推广
  • 汉阳网站建设苏州关键词排名提升
  • 微网站建设哪家好平面设计
  • 餐饮服务案例100例seol英文啥意思
  • 电脑怎么做网站服务器苏州百度推广代理商
  • 网站源码 正在建设中上海seo优化服务公司
  • 国外网站做acm题目比较好关键词排名查询
  • 广州开发区建设和环境保护局网站怎么在百度上做广告推广
  • 北京 网站策划公司百度 营销怎么收费
  • 北京网站制作费用营销是做什么
  • 团购网站前景百度推广竞价是什么意思
  • 跨境b2c网站nba最新排名榜
  • 如何做简单网站发表文章的平台有哪些
  • 最好网站设计案例信阳seo推广
  • 响应式网站建设一般多少钱百度关键词竞价和收费的方法
  • 专业帮人做网站号码重庆seo报价
  • 重庆网站建设沛宣百度推广技巧
  • 建设网站具备的知识建站工具
  • 成都企业网站开发seo免费资源大全