lc538.java 842 字节
Newer Older
L
liu13 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
package code;
/*
 * 538. Convert BST to Greater Tree
 * 题意:二叉搜索树,让节点上的值+上所有比它大的值
 * 难度:Easy
 * 分类:Tree
 * 思路:因为是二叉搜索树,右,中,左,这样遍历就可以最大的值递减遍历出结果了。
 *      记住,不好递归返回值的,直接设置一个全局变量即可,简单方便。全局变量,全局变量,全局变量!!!
 * Tips:
 */
public class lc538 {
    public class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }
    int sum = 0;
    public TreeNode convertBST(TreeNode root) {
L
liu13 已提交
20 21 22 23 24
        if(root==null) return null;
        convertBST(root.right);
        sum += root.val;
        root.val = sum;
        convertBST(root.left);
L
liu13 已提交
25 26 27
        return root;
    }
}