package LeetCode.FiveHundredOneToOneThousand;
import LeetCode.TreeNode;
public class FiveHundredAndThirtyEight {
private int num = 0;
// 我们知道二叉搜索树的中序遍历的结果就是将树中的值按照大小新型排序
// 但是我们如果按照原来的遍历方法,我们无法知道多少个数比最小数大
// 所以我们需要反中序遍历,记录后面的值的和,因为后面的数总是比前面的数大
public TreeNode convertBST(TreeNode root) {
if (root != null){
// 进行 反中序遍历
convertBST(root.right);
num += root.val;
root.val = num;
convertBST(root.left);
}
return root;
}
}
538. 把二叉搜索树转换为累加树(逐句解释代码)
最新推荐文章于 2024-08-16 23:08:28 发布