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)

相关推荐

  • 网关防XSS过滤器的设计是什么

    技术网关防XSS过滤器的设计是什么本篇文章为大家展示了网关防XSS过滤器的设计是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 如何防止XSS攻击?XSS的防御基本上,不

    攻略 2021年10月20日
  • 数据挖掘

    技术数据挖掘 数据挖掘通过数据挖掘过程所推倒出的关系和摘要经常被称为:(A B)A. 模型B. 模式C. 模范D. 模具寻找数据集中的关系是为了寻找精确、方便并且有价值地总结了数据的某一特征的表示,这个

    礼包 2021年11月18日
  • Does RSA Private key always contain the Public key, or is it just .NET

    技术Does RSA Private key always contain the Public key, or is it just .NET Does RSA Private key always

    礼包 2021年12月9日
  • 香港服务器迁移网站要注意什么香港服务器租用

    技术香港服务器迁移网站要注意什么香港服务器租用将网站迁移到新的香港服务器需要大量规划。一些主要原因是磁盘空间不足、客户服务差以及服务器经常出现故障。起初,转向新的网络香港机房服务商可能看起来很棒,但实际上,不同的原因所需

    礼包 2021年11月3日
  • 如何实现VB.NET文件流读、写类文件

    技术如何实现VB.NET文件流读、写类文件这篇文章主要介绍如何实现VB.NET文件流读、写类文件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!VB.NET文件流代码:Option Explicit

    攻略 2021年12月2日
  • jquery中怎么显示和隐藏元素

    技术jquery中怎么显示和隐藏元素本篇内容介绍了“jquery中怎么显示和隐藏元素”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年11月16日