本文主要是介绍代码随想录——把二叉搜索树转换为累加树(Leetcode538),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目链接
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val = val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val = val;* this.left = left;* this.right = right;* }* }*/
class Solution {private int sum = 0; // 用于累加所有节点的值public TreeNode convertBST(TreeNode root) {traverse(root);return root;}private void traverse(TreeNode root) {if (root == null) {return;}// 首先遍历右子树traverse(root.right);// 访问节点本身,并更新sumsum += root.val;root.val = sum;// 最后遍历左子树traverse(root.left);}
}
这篇关于代码随想录——把二叉搜索树转换为累加树(Leetcode538)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!