1 | 给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 |
主要思路
重要关键字,这个一颗二叉搜索树,所以根据性质,当前节点的值大于左结点,小于右节点,所以我们要让当前节点加上在这个节点右边的所有节点,当前为例,5需要加上13,2需要加上5,13;可以看到本质上是一种反后序遍历,那代码就比较简单了
1 | public static TreeNode convertBST(TreeNode root) { |