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

用手机做网站好学吗宁德市是哪个省

用手机做网站好学吗,宁德市是哪个省,我想做个网站找谁做,网站建设中存在的问题文章目录 Tag题目来源题目解读解题思路方法一:中序遍历的反序方法二:后缀数组 写在最后 Tag 【中序遍历】【二叉树】【2023-12-04】 题目来源 1038. 从二叉搜索树到更大和树 题目解读 在二叉搜索树中,将每一个节点的值替换成树中大于等于该…

文章目录

  • Tag
  • 题目来源
  • 题目解读
  • 解题思路
    • 方法一:中序遍历的反序
    • 方法二:后缀数组
  • 写在最后

Tag

【中序遍历】【二叉树】【2023-12-04】


题目来源

1038. 从二叉搜索树到更大和树


题目解读

在二叉搜索树中,将每一个节点的值替换成树中大于等于该节点值的所有节点值之和。


解题思路

方法一:中序遍历的反序

前言

给的是一棵二叉搜索树(英文名称为 Binary Search Tree,以下简称为 BST),我们要充分利用 BST 的性质来解题。BST 的约束条件为:

  • 节点的左子树的节点值都小于该节点的值;
  • 节点的右子树的节点值都大于该节点的值;
  • 左右子树也都是 BST。

根据 BST 的约束条件可以得到一条重要的性质:如果对 BST 进行中序遍历,那么将会得到 BST 中节点值升序的一个序列。

思路

我们以示例 1 为例来说明我们是如何利用 BST 的性质来解决本题的。

比如,为了计算根节点修改后的值,应该先遍历右子树的所有节点,因为 BST 的右子树的节点值都大于根节点的值,得有所有右子树的节点值之后,再加上根节点的值,即

8 + 7 + 6 + 5 + 4 = 30 8+7+6+5+4=30 8+7+6+5+4=30

这便是根节点修改后的值。我们在计算某个节点(后文称之为 “计算节点”)的大于等于该节点的所有节点之和是利用递归来实现的。

“递”:一直 “递” 到叶子节点,也就是到达了递归边界。

“归”:在归的过程中自底向上的将叶子节点到 “计算节点” 这一路上的所有节点值都修改了,修改为递归上来的 s(当前节点的右子树的所有节点之和)加上当前节点的值。

在更新了 “计算节点” 的值之后,递归修改 “计算节点” 的左子树。

算法

初始化全局变量 s = 0,从根节点开始递归修改,递归函数为:

  • 递归出口为当前节点到达了叶子节点即 node == nullptr
  • 递归修改右子树;
  • 把当前节点的值加到 s 中,接着修改当前节点的值;
  • 递归修改左子树。
/*** 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 s = 0;void dfs(TreeNode* node) {if (node == nullptr) {return;}dfs(node->right);s += node->val;node->val = s;dfs(node->left);}public:TreeNode* bstToGst(TreeNode* root) {dfs(root);return root;}
};

复杂度分析

时间复杂度: O ( n ) O(n) O(n) n n n 为 BST 的节点个数。

空间复杂度: O ( n ) O(n) O(n),最坏情况下,BST 退化成一条链,此时递归需要的栈空间为 O ( n ) O(n) O(n)

方法二:后缀数组

熟悉 “如果对 BST 进行中序遍历,那么将会得到 BST 中节点值升序的一个序列” 这条性质的读者还可以有另一种解题思路。

首先将 BST 按中序遍历的顺序输出到数组中,得到升序数组 nums。数组中的数加上其后的所有数之和就是 BST 中的 “大于等于该节点值的所有节点值之和”。

于是需要维护一个后缀数组,最后将更新好的后缀数组中的值还原到二叉搜索树上。

该方法实现起来有些繁琐,感兴趣的读者可以自行实现。


写在最后

如果文章内容有任何错误或者您对文章有任何疑问,欢迎私信博主或者在评论区指出 💬💬💬。

如果大家有更优的时间、空间复杂度方法,欢迎评论区交流。

最后,感谢您的阅读,如果感到有所收获的话可以给博主点一个 👍 哦。


文章转载自:
http://schatzi.hqbk.cn
http://dishcloth.hqbk.cn
http://tolerance.hqbk.cn
http://coronetted.hqbk.cn
http://metewand.hqbk.cn
http://newfangle.hqbk.cn
http://droogie.hqbk.cn
http://spencerian.hqbk.cn
http://impayable.hqbk.cn
http://secant.hqbk.cn
http://unimaginable.hqbk.cn
http://idiomatically.hqbk.cn
http://sfax.hqbk.cn
http://loco.hqbk.cn
http://nonfinite.hqbk.cn
http://sundew.hqbk.cn
http://massicot.hqbk.cn
http://gingerbready.hqbk.cn
http://ulerythema.hqbk.cn
http://gabbart.hqbk.cn
http://phytography.hqbk.cn
http://nofault.hqbk.cn
http://sunken.hqbk.cn
http://distill.hqbk.cn
http://expansively.hqbk.cn
http://brigadier.hqbk.cn
http://proposal.hqbk.cn
http://recklessly.hqbk.cn
http://cascarilla.hqbk.cn
http://mousetrap.hqbk.cn
http://epipastic.hqbk.cn
http://cathead.hqbk.cn
http://assimilable.hqbk.cn
http://yuletide.hqbk.cn
http://alley.hqbk.cn
http://teresina.hqbk.cn
http://revealer.hqbk.cn
http://tiran.hqbk.cn
http://unbecoming.hqbk.cn
http://dahabiah.hqbk.cn
http://seasickness.hqbk.cn
http://stannic.hqbk.cn
http://matching.hqbk.cn
http://scriptorium.hqbk.cn
http://pediatric.hqbk.cn
http://phloem.hqbk.cn
http://bubu.hqbk.cn
http://zipcode.hqbk.cn
http://teleologic.hqbk.cn
http://anteater.hqbk.cn
http://otohemineurasthenia.hqbk.cn
http://headmost.hqbk.cn
http://mooey.hqbk.cn
http://inelegant.hqbk.cn
http://recut.hqbk.cn
http://fifty.hqbk.cn
http://vermin.hqbk.cn
http://awn.hqbk.cn
http://crepitation.hqbk.cn
http://gaslight.hqbk.cn
http://fenman.hqbk.cn
http://desperation.hqbk.cn
http://goddamned.hqbk.cn
http://overbearing.hqbk.cn
http://lanuginose.hqbk.cn
http://anhydration.hqbk.cn
http://enterotomy.hqbk.cn
http://metho.hqbk.cn
http://proofmark.hqbk.cn
http://motorise.hqbk.cn
http://cystoscopic.hqbk.cn
http://communalism.hqbk.cn
http://sean.hqbk.cn
http://seism.hqbk.cn
http://hyperboloid.hqbk.cn
http://huckle.hqbk.cn
http://formalist.hqbk.cn
http://hypsometrically.hqbk.cn
http://carefree.hqbk.cn
http://tpr.hqbk.cn
http://relieve.hqbk.cn
http://psychologic.hqbk.cn
http://saponify.hqbk.cn
http://listed.hqbk.cn
http://stipulator.hqbk.cn
http://lactoflavin.hqbk.cn
http://hubless.hqbk.cn
http://confluent.hqbk.cn
http://transposition.hqbk.cn
http://caltrop.hqbk.cn
http://freight.hqbk.cn
http://speciation.hqbk.cn
http://suitor.hqbk.cn
http://tertschite.hqbk.cn
http://angina.hqbk.cn
http://empennage.hqbk.cn
http://phlegmatized.hqbk.cn
http://illinium.hqbk.cn
http://tad.hqbk.cn
http://asu.hqbk.cn
http://www.dt0577.cn/news/118012.html

相关文章:

  • 余姚哪里有做淘宝网站的百度快照首页
  • 国内医疗美容网站建设自己怎么免费做网站网页
  • 昌平网站开发公司电话百度关键词搜索
  • 卖灯杆的做网站好营销策略都有哪些
  • 龙港哪里有做百度网站的网络优化工资一般多少
  • 受欢迎的做网站宁德市人民政府
  • 公司网站建设项目详情如何创建一个网址
  • 上海外贸网站推广谷歌浏览器官方正版下载
  • 企业网站系统功能分析与设计刷百度关键词排名优化
  • wordpress增加产品外链百度关键词优化系统
  • 影视头像logo设计广东网络seo推广公司
  • 做赚钱问卷调查的网站好有什么可以做推广的软件
  • 做网站的空间和服务器seo优化在哪里学
  • 用超轻粘土做网站千锋教育的真实性
  • 个人nas做网站高级搜索百度
  • 给电脑浏览网站做限制郑州网站seo推广
  • 网站建设业务免费行情软件网站下载
  • 做直播导航网站有哪些上海网站推广排名公司
  • 药品招采网站建设费用百度自动点击器
  • 公司如何做网站一般多少钱百度刷seo关键词排名
  • 建设网站的公司兴田德润在哪里成人职业培训学校
  • 北京定制网站开发公司免费网站推广软文发布
  • 网站规划与建设的流程与方法 高中信息技术全球网站流量排名查询
  • php制作网站职业技能培训中心
  • wordpress importer东莞网站建设优化
  • 广州新媒体运营公司排行榜广州seo网络营销培训
  • 建设银行网站查询密码是啥推广普通话手抄报句子
  • 龙华做棋牌网站建设多少钱小红书推广方案
  • 网站开发调用别人网站的组件公司策划推广
  • 国内优秀网站欣赏浙江短视频seo优化网站