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

技术Java中如何把二叉搜索树转换为累加树这篇文章主要介绍了Java中如何把二叉搜索树转换为累加树,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、题目给

本文主要介绍如何在Java中把二叉查找树转换成一个积累树,具有一定的参考价值。有兴趣的朋友可以参考一下。希望大家看完这篇文章后收获多多。让边肖带你去了解一下。

00-1010给出了二叉查找树的根节点,它有不同的节点值。请将其转换为更大和树,以便每个节点的新值等于原始树中大于或等于node.val的值之和。

请注意,二叉查找树满足以下限制:

节点的左子树仅包含键小于节点键的节点。

节点的右子树只包含键大于节点键的节点。

左右子树也必须是二分搜索法树。

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

从10: 00到10: 00,观察示例图,发现树的遍历顺序是右、中、左,每个节点的值都是按照这个顺序累加的。

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

因为需要累加,所以需要前置指针记录当前遍历节点cur的前一个节点,方便累加。

(1)确定递归函数及返回值

主题需要遍历整个树,同时需要定义一个全局变量pre来保存cur节点的前一个节点的值。

(2)确定递归终止条件

空时终止。

(3)确定单层递归的逻辑

遍历顺序,右,中,左。

一、题目

类别解决方案{

//记录前置节点。

int pre=0;

publicturenodecovertbst(treenoderroot){ 0

//空节点终止。

if(root==null){ 0

returnroot

}

//遍历顺序:右、中、左。

convert BST(root . right);

root.val=pre

pre=root.val

convert BST(root . left);

returnroot

}

}感谢您仔细阅读本文。希望边肖分享的文章《如何将二叉查找树转化为Java中的累积树》对大家有所帮助。也希望大家多多支持和关注行业信息渠道,更多相关知识等着你去学习!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/65908.html

(0)

相关推荐

  • uk是哪个国家的缩写,欧洲各个国家的英文缩写

    技术uk是哪个国家的缩写,欧洲各个国家的英文缩写AT Austria 奥地利 欧洲 BE Belgium 比利时 欧洲
    BG Bulgaria 保加利亚 欧洲
    CH Switzerland 瑞士 欧洲
    CZ Czec

    生活 2021年10月27日
  • 画眉鸟翻译,画眉鸟这首古诗是什么意思

    技术画眉鸟翻译,画眉鸟这首古诗是什么意思译文画眉鸟翻译: 千百声的鸟啭,任意回荡著, (就在那)山花万紫千红绽放,高低有致的林木里.
    这才明白:(以前)听到那锁在金笼内的画眉叫声,
    远比不上悠游林中时的自在啼唱.《画

    2021年10月24日
  • 在调用HttpRequest.GetBufferlessInputStream之后不支持此方法或属性。怎么办

    技术在调用HttpRequest.GetBufferlessInputStream之后不支持此方法或属性。怎么办今天就跟大家聊聊有关在调用HttpRequest.GetBufferlessInputStream之后不支持

    攻略 2021年10月20日
  • C语言----位运算,进阶篇二十六)

    技术C语言----位运算,进阶篇二十六) C语言----位运算(进阶篇二十六)作用在小内存时代,经常把一个字节分成好几份来用,以达到节约内存的目的。现在经常用于网络数据传输,单片机领域……。注意:※在进

    礼包 2021年11月1日
  • 科目一考什么,驾照科目一考试技巧与口诀

    技术科目一考什么,驾照科目一考试技巧与口诀1科目一考什么、题目里有“口”的选50米,有“站”的选30米,叫“口五站三 剩下的全选150米,没有150的选最大。判断题全对。 2、有关公里的题目:城市街道选50公里,其余有3

    生活 2021年10月23日
  • 名字的意义,大家来说说自己名字的含义

    技术名字的意义,大家来说说自己名字的含义先说我头条号的名字名字的意义:树德汉硕,这是我父子名合到一起的名字。我姓口天吴,父叫树德,我叫汉硕。树汉是排辈字,我祖排辈上下排辈是:……超瑞世毓树汉裕厚发宗光……,我儿是裕字辈。

    生活 2021年10月29日