Java中如何把二叉搜索树转换为累加树

本文主要介绍如何在Java中把二叉查找树转换成一个积累树,具有一定的参考价值 。有兴趣的朋友可以参考一下 。希望大家看完这篇文章后收获多多 。让边肖带你去了解一下 。00-1010给出了二叉查找树的根节点,它有不同的节点值 。请将其转换为更大和树,以便每个节点的新值等于原始树中大于或等于node.val的值之和 。请注意,二叉查找树满足以下限制:节点的左子树仅包含键小于节点键的节点 。节点的右子树只包含键大于节点键的节点 。左右子树也必须是二分搜索法树 。从10: 00到10: 00,观察示例图,发现树的遍历顺序是右、中、左,每个节点的值都是按照这个顺序累加的 。因为需要累加,所以需要前置指针记录当前遍历节点cur的前一个节点,方便累加 。(1)确定递归函数及返回值主题需要遍历整个树,同时需要定义一个全局变量pre来保存cur节点的前一个节点的值 。(2)确定递归终止条件空时终止 。(3)确定单层递归的逻辑遍历顺序,右,中,左 。一、题目
【Java中如何把二叉搜索树转换为累加树】类别解决方案{//记录前置节点 。int pre=0;publicturenodecovertbst(treenoderroot){ 0//空节点终止 。if(root==null){ 0returnroot//遍历顺序:右、中、左 。convert BST(root . right);root.val=prepre=root.valconvert BST(root . left);returnroot}感谢您仔细阅读本文 。希望边肖分享的文章《如何将二叉查找树转化为Java中的累积树》对大家有所帮助 。也希望大家多多支持和关注行业信息渠道,更多相关知识等着你去学习!

    推荐阅读