当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。

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

中等convertBST()
时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O(n),空间 O(h)

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

给出二叉搜索树(BST)的根节点,把它转换为一棵累加树(Greater Sum Tree),使得每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。

约定

  • 树是一棵二叉搜索树。
  • 返回转换后的根节点(原地修改即可)。
  • 树用层序数组表示,null 表示空节点。

输入

  • root:BST 根节点,节点数范围 [0, 10^4],节点值范围 -10^4 ~ 10^4

输出

转换后的树(层序数组表示)。

示例一

输入:

root = [4,1,6,0,2,5,7,null,null,null,3,null,null,null,8]

输出:

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

示例二

输入:

root = [0,null,1]

输出:

[1,null,1]

示例三

输入:

root = [3,2,4]

输出:

[7,9,4]

复杂度要求

  • 时间复杂度:O(n)
  • 空间复杂度:O(h),递归栈
Loading...

输入

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

预期输出

[30,36,21,36,35,26,15,null,null,null,33,null,null,null,8]
自定义用例