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)

相关推荐

  • python中list与字典的区别(python中list的常用方法有哪些)

    技术Python列表list与字典dict的相关操作有哪些这篇文章主要讲解了“Python列表list与字典dict的相关操作有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究

    攻略 2021年12月17日
  • 如何进行mysql 5.6不停机主主搭建

    技术如何进行mysql 5.6不停机主主搭建这篇文章将为大家详细讲解有关如何进行mysql 5.6不停机主主搭建,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。环境说明:版

    攻略 2021年11月16日
  • 9个适用于Web开发人员的CSS工具分别是什么

    技术9个适用于Web开发人员的CSS工具分别是什么这篇文章将为大家详细讲解有关9个适用于Web开发人员的CSS工具分别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    攻略 2021年11月11日
  • Hibernate中Criteria有什么用

    技术Hibernate中Criteria有什么用这篇文章主要介绍Hibernate中Criteria有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!现在对Hibernate Criteria

    攻略 2021年12月8日
  • mysql如何实现用户创建、修改、删除及授权操作

    技术mysql如何实现用户创建、修改、删除及授权操作这篇文章主要介绍了mysql如何实现用户创建、修改、删除及授权操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起

    攻略 2021年10月30日
  • 日本服务器有什么用

    技术日本服务器有什么用根据拥有的网站类型,共享服务器可能更可取。如果您只想在自己的空间中部署您的网站,您可以利用这个独享服务器系统。它通常受到网站访问量非常高的公司、电子商务网站和品牌的青睐。日本服务器也是那些不想在其服

    礼包 2021年12月15日