二叉树的下一个结点

银河麒麟硬盘健康检测:smartctl/badblocks实战与坏盘预判 xfs_repair检查。S.M.A.R.T检测。 阅读详情

二叉树的下一个结点

借用了牛客网上的图
图是中序遍历图,红色箭头指向中序遍历的下一个节点,从上面的图可以看出来,基本上查找当前节点的中序遍历的下一个节点的规律如下:

  1. 有右子树的,那么下个结点就是右子树最左边的点;(eg:D,B,E,A,C,G)
  2. 没有右子树的,也可以分成两类,a)是父节点左孩子(eg:N,I,L) ,那么父节点就是下一个节点 ; b)是父节点的右孩子(eg:H,J,K,M)找他的父节点的父节点的父节点…直到当前结点是其父节点的左孩子位置。如果没有eg:M,那么他就是尾节点。
public class Solution {
    public TreeLinkNode GetNext(TreeLinkNode pNode) {
        if(pNode == null) return null;
        //如果节点的右孩子不为空的话
        if(pNode.right != null){
            pNode = pNode.right;
            while(pNode.left != null){
                pNode = pNode.left;
            }
            return pNode;
        }
        //如果节点没有右孩子
        //找父节点,直到该节点是父节点的左孩子为止
        while(pNode.next != null){
            if(pNode.next.left == pNode){
            return pNode.next;
            }
            pNode = pNode.next;
        }
        //如果都没有,那就返回空
        return null;
        
    }
}
IEM模型,地表粗糙度模拟 利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟 立即下载

相关推荐

【水下小目标检测】SWIPENet与样本重加权:应对模糊与噪声的深度学习策略

本文深入探讨了水下小目标检测的挑战与解决方案,重点介绍了SWIPENet网络架构与IMA样本重加权算法。通过空洞卷积模块、特征金字塔重构和多尺度预测机制,SWIPENet有效提升了模糊目标的检测精度。结合Invert Multi-Class Adaboost算法,系统性地解决了水下环境中的样本不均衡问题,在URPC数据集上实现了48.8%的mAP,特别适合海洋生物检测等应用场景。

weixin_29057163的博客 343

告别瞎猜!用通达信L2资金流向函数,手把手教你识别主力动向(附实战公式)

本文详细解析通达信L2资金流向函数,手把手教你构建主力动向监控系统。通过分档数据解析、委买委卖攻防解读及实战公式应用,帮助投资者精准识别主力建仓与虚假拉升信号,提升股票交易决策效率。

weixin_26908317的博客 2074

二叉树(B Tree)

名词解释 二叉树的名词解释: 根:树顶端的节点称为根。一棵树只有一个根,如果要把一个节点和边的集合称为树,那么从根到其他任何一个节点都必须有且只有一条路径。A是根节点。 父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点;B是D的父节点。 子节点:一个节点含有的子树的根节点称为该节点的子节点;D是B的子节点。 兄弟节点:具有相同父节点的节点互称为兄弟节点;比如上图的D...

Mr__fang的专栏 847

Xilinx ZYNQ 7000学习笔记二(FSBL代码分析启动-汇编代码)

Xilinx ZYNQ 7000学习笔记

u011116085的博客 4246

【Unity动画优化插件】BT - OptiAnimX —— AAA级动画优化框架深度剖析

BT - OptiAnimX 是一款面向 Unity 的高性能动画优化框架,核心目标是解决多角色动画场景中的性能瓶颈问题。该插件对标《战争机器5》和《巫师3》等 AAA 游戏中的动画优化技术,通过一整套自动化与智能化的优化策略,将动画性能提升与视觉质量控制结合在一起。它适用于从移动端、VR 到高端 PC 的多平台项目,尤其在“多人角色 + 高频动画”的场景中表现突出,例如 MMO、开放世界、动作游戏等。BT - OptiAnimX 本质上是一套“动画性能调度系统”,而不仅仅是优化工具。

2403_88403568的博客 433

树------二叉树

二叉树主要延续上一遍文章,详细讲述树的分类种第一个分类------二叉树。主要从基本概念、基本特点和几种二叉树的对比进行介绍什么是二叉树

小菜鸟 563

【电源专题】LDO基础——热性能2

对于LDO散热而言,选择合适的元件并不是一件简单的任务。为了实现高效、尺寸得当并成本低的散热解决方案,我们在早期设计阶段就需要确保所有器件都可用并且已经考虑到元件和各种特性。

一点硬件 894

二叉树

       叶子节点全都在最底层,除了叶子节点之外,每个节点都有左右两个子节点,这种二叉树就叫作满二叉树。        叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大,这种二叉树叫作完全二叉树。 &nb...

qq_34787356的博客 479

01 Python学习总结:Python简介及入门

Python 是一门高级编程语言,以其简洁、易读和强大的功能而广受欢迎。它适用于多种应用场景,包括 Web 开发、数据分析、人工智能、自动化脚本等。以下是 Python 的简介及入门知识总结,帮助你快速了解并开始学习 Python。

数据知道的博客 1万+

Ros入门 (十)----激光雷达避障 简易实现

本篇文章通过订阅/scan话题获取障碍物的距离信息,达到避障目的,提供部分代码,仅供参考。

weixin_51157015的博客 1万+

二叉树中序的下一个结点

题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 考察对二叉树遍历的理解 # -*- coding:utf-8 -*- # class TreeLinkNode: # def __init__(self, x): # self.val = x # self...

北歌的博客 364

2025年抖音面试:商业生态与安全质量运营技能要求及面试

在商业生态与安全岗的质量运营工作中,规则运营职责占据着极为重要的地位,它是保障内容风控质量的关键环节。

王国平的博客 608

python 二叉树的下一个结点

''' 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。 注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 ''' # -*- coding:utf-8 -*- # class TreeLinkNode: # def __init__(self, x): # self.val = x # self.left ...

WYXHAHAHA123的博客 333

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【剑指offer】二叉树的下一个结点

题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 解题思路 如果该结点有右孩子,则返回右子树的最左边的结点; 否则,则向上找该结点的父结点,如果父结点是上个父结点的右子树,则一直向上找,直到父结点是上个父结点的左子树,则返回父结点的父结点; 我也不知道我为什么写的那么啰嗦了,神经病。 我的代码 /*...

u010659877的专栏 126

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【剑指Offer】二叉树的下一个结点

上图所示二叉树,找下一个结点,分四种情况考虑: 结点2——下一个结点为3 结点4——下一个结点为5 结点5——下一个结点为6 结点7——下一个结点为8 而下面所说的第二种情况类似于删除节点中的找后继节点,先判断是否存在右结点,再判断右结点是否存在左结点,如果存在左结点,就一直找到最下面的一个左结点,否则下一个结点就为右结点。 第一种情况是找父节点。 结点2和4都是在找父节点或者祖...

ncc1995的博客 284

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

剑指offer JZ8 二叉树的下一个结点

接下来讨论没有右子树的情况,如果当前节点是父节点的左子节点那么返回当前节点的父节点,比如说d节点的下一个节点是b节点,如果当前节点是父节点的右子节点,那么就继续向上,回溯寻找下一个节点,直到找到当前节点是父节点的左子节点或父节点为空,返回当前节点的父节点,比如说i节点的下一个节点是a节点。需要注意的是需要考虑边界条件是否合法,树中只有一个节点的情况,当前节点是中序遍历的最后一个节点,是否能正确处理,并返回正确结果。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示。

qq_74980411的博客 1777

二叉树的下一个结点(二叉树中序遍历的使用)

题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 题意分析:根据题意可知,要查找的是中序遍历当前给定结点的下一个结点。 第一种方法,使用递归先把二叉树中序遍历的结果都查找出来,记录,然后对结果进行遍历,查找给定的结点的下一个结点,如果说要查找的结点不是位于结尾,则证明有下一个结点,

You_are_my_dream的博客 987
上一篇: 表示数值的字符串
下一篇: 矩阵中的路径
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值