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)

相关推荐

  • SQLServer2012镜像主库挂掉怎么切换到镜像备库

    技术SQLServer2012镜像主库挂掉怎么切换到镜像备库本篇内容介绍了“SQLServer2012镜像主库挂掉怎么切换到镜像备库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学

    攻略 2021年11月8日
  • 怎么练腰,在健身房如何练腰上的力量

    技术怎么练腰,在健身房如何练腰上的力量腰部练习方法怎么练腰:1.直腿硬拉初始姿式:双脚开立,与肩同宽或稍窄,直腿体前屈,两手握住地面上的杠铃杆,握距稍宽于肩。动作近程:双手紧握杠铃,腰背用力将其直臂拉起,至上体完全挺直,

    生活 2021年10月23日
  • 如何用JAVA源码解析hashcode方法

    技术如何用JAVA源码解析hashcode方法这期内容当中小编将会给大家带来有关如何用JAVA源码解析hashcode方法,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在开发过程中我们

    攻略 2021年10月23日
  • 基于Python的算法数据集怎么实现

    技术基于Python的算法数据集怎么实现这篇文章主要介绍“基于Python的算法数据集怎么实现”,在日常操作中,相信很多人在基于Python的算法数据集怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法

    攻略 2021年11月23日
  • oracle中出现ora-01013错误怎么办

    技术oracle中出现ora-01013错误怎么办小编给大家分享一下oracle中出现ora-01013错误怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们

    攻略 2021年11月12日
  • 一寸照片尺寸多少厘米,一寸照片到底是多少厘米

    技术一寸照片尺寸多少厘米,一寸照片到底是多少厘米一寸照片对应的尺寸是2.5厘米*3.5厘米,其中宽度为2.5厘米,长度为3.5厘米一寸照片尺寸多少厘米。身份证和体检表等多采用小一寸的尺寸22×32mm,第二代身份证采用的

    生活 2021年10月20日