538. 把二叉搜索树转换为累加树
中序遍历
class Solution {
int sum = 0;
public TreeNode convertBST(TreeNode root) {
inorder(root);
return root;
}
/**
* 按照右中左的顺序进行中序遍历
* 对中间的节点进行赋值
*/
public void inorder(TreeNode root){
if (root == null){
return;
}
inorder(root.right);
root.val += sum;
sum = root.val;
inorder(root.left);
}
}
/**
* 时间复杂度 O(n)
* 空间复杂度 O(logn)
*/
https://leetcode-cn.com/problems/convert-bst-to-greater-tree/

浙公网安备 33010602011771号