数据结构Java技术升华面试精选

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

2021-12-28  本文已影响0人  名字是乱打的

一 题目:

二 思路:

三 代码:

class Solution {
    public TreeNode convertBST(TreeNode root) {
        dfs(root);
        return root;
    }

    //二叉树遍历的变形
    //这一题中的二叉树遍历的顺序是右 ——> 中 ——> 左,所以我们至于要在遍历到中的时候进行累加的操作即可。
    //保存累加和
    int sum=0;
    private void dfs(TreeNode root) {
        if (root==null){
            return;
        }
        //安排右节点
        dfs(root.right);
        //安排自己
        sum+=root.val;
        root.val=sum;
        //安排左节点
        dfs(root.left);
    }

}
上一篇 下一篇

猜你喜欢

热点阅读