LeetCode538 把二叉搜索树转为累加树

技术LeetCode538 把二叉搜索树转为累加树 LeetCode538 把二叉搜索树转为累加树题目
给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum T

LeetCode538将二叉查找树转化为积累树。

题目

给出二叉查找树的根节点,它有不同的节点值。请将其转换为更大和树,以便每个节点的新值等于原始树中大于或等于node.val的值之和。

提醒二叉查找树满足以下限制:

节点的左子树只包含键小于节点键的节点。

节点的右子树仅包含键大于该节点的键的节点。

左右子树也必须是二分搜索法树。

注:本问题同1038:3359 leet code-cn.com/problems/binary-search-tree-to-great-sum-tree/

例1:

输入:[4,1,6,0,2,5,7,null,null,3,null,null,8]

输出:[30,36,21,36,35,26,15,null,null,33,null,null,8]

例2:

输入:root=[0,null,1]

输出:[1,空,1]

例3:

输入:root=[1,0,2]

输出:[3,3,2]

例4:

输入:root=[3,2,4,1]

输出:[7,9,4,10]

提示:

树中的节点数介于0和104之间。

每个节点的值在-104和104之间。

树中的所有值都彼此不同。

给定的树是二叉查找树。

方法

递归法

时间复杂度:O(n),其中n是二叉查找树的节点数。每个节点只遍历一次。

空间的复杂性:O(n)

解决方案类{

private int sum=0;

公共树节点转换器(树节点根){ 0

if(root!=null){ 0

convert BST(root . right);

root.val=root.val总和;

sum=root.val

convert BST(root . left);

}

返回根;

}

}

Morris 遍历

时间复杂度:O(n),其中n是二叉查找树的节点数。每个节点只遍历一次。

空间的复杂性:O(1)

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143787.html

(0)

相关推荐

  • 华氏度摄氏度对照表,1摄氏度等于多少华氏度

    技术华氏度摄氏度对照表,1摄氏度等于多少华氏度1摄氏度等于33.8华氏度。摄氏度的含义是指在1标准大气压下华氏度摄氏度对照表,纯净的冰水混合物的温度为0度,水的沸点为100度,其间平均分为100份,每一等份为1度,记作1

    生活 2021年10月22日
  • 怎么用花呗转账,花呗中钱可以转到自己银行卡吗

    技术怎么用花呗转账,花呗中钱可以转到自己银行卡吗不可以,因为花呗里的额度属于消费额度,所以花呗既不能提现也不能转账怎么用花呗转账。因此花呗不能借钱,也无法转账到银行卡,如果你需要资金的话,可以去开通借呗。花呗是不能借钱的

    生活 2021年10月24日
  • Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗

    技术Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗 Linux驱动实践:你知道【字符设备驱动程序】的两种写法吗作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++、嵌入式、Linux。

    礼包 2021年11月19日
  • 心形线,求心形函数表达式~~~

    技术心形线,求心形函数表达式~~~1.直角坐标方程心形线的平面直角坐标系方程表达式分别为 心形线:
    x^2+y^2+a*x=a*sqrt(x^2+y^2)
    x^2+y^2-a*x=a*sqrt(x^2+y^2)
    2.极坐

    生活 2021年10月29日
  • 抖音点赞在线自助平台网站,抖音点赞自助购买平台?

    技术抖音点赞在线自助平台网站,抖音点赞自助购买平台?抖音刷赞自助网站,抖音点赞自助购买平台操作流程,一些大牌厂商也已经入驻,发展前景非常可观,在带来欢乐的同时也成为营销的重要平台,这样一个,又有趣,又能挣钱,路子又正,用

    测评 2021年10月26日
  • 分析sqlserver2008跨数据库事务测试

    技术分析sqlserver2008跨数据库事务测试本篇内容介绍了“分析sqlserver2008跨数据库事务测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情

    攻略 2021年11月5日