当前位置: 首页 > news >正文

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回

问题

给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回


中序遍历访问顺序是:左-根-右,这个中序指的是根在访问顺序的中间。
然后当前遍历到了这个结点,因此说明下一个遍历的结点应该是它的右子树中的某个结点。
于是拿到右子树最下层的左儿子节点即可。
对于没有右子树的情况:
1)当前节点是父节点的左儿子
下一个是父节点
2)当前节点是父节点的右儿子
需要持续判断:
记A为父节点,B为父节点的父节点
1.如果A是B左儿子,则B是下一个要访问的节点
2.如果A是B右儿子,A=B,B=father(B),进行循环判断直到1.满足为止
如果B=NULL时还未满足则返回NULL


/*
struct TreeLinkNode {
    int val;
    struct TreeLinkNode *left;
    struct TreeLinkNode *right;
    struct TreeLinkNode *next;
    TreeLinkNode(int x) :val(x), left(NULL), right(NULL), next(NULL) {
        
    }
};
*/
class Solution {
   
public

相关文章:

  • 你知道iframe是什么吗?它有什么缺点?
  • 请说明以下代码的含义,visibility=hidden, opacity=0,display:none
  • HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数
  • viewport各个属性值的意义,以及如何实现不用viewport控制用户不能缩放
  • 字节跳动前端实习面经 (转)
  • Vue SPA的基本实现原理
  • web页面透明度的问题
  • 微信内置浏览器在IOS设备上的兼容性问题
  • VSCode中编写Python使用默认配置存在的路径问题
  • 智能控制导论 # 绪论
  • 智能控制导论 # 专家控制
  • C++中的水平访问,垂直访问是什么
  • C++ 子类型关系
  • 智能控制导论 # 专家控制实例 - 专家PID控制
  • 通俗易懂的自动控制原理 # 绪论
  • 时间复杂度分析经典问题——最大子序列和
  • [笔记] php常见简单功能及函数
  • 2017-08-04 前端日报
  • C# 免费离线人脸识别 2.0 Demo
  • JavaScript的使用你知道几种?(上)
  • Java小白进阶笔记(3)-初级面向对象
  • JDK 6和JDK 7中的substring()方法
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • SQLServer之索引简介
  • STAR法则
  • vue:响应原理
  • 从零搭建Koa2 Server
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 世界上最简单的无等待算法(getAndIncrement)
  • 数组大概知多少
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 自动记录MySQL慢查询快照脚本
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 整理一些计算机基础知识!
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​渐进式Web应用PWA的未来
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (七)Java对象在Hibernate持久化层的状态
  • (五)Python 垃圾回收机制
  • (译)2019年前端性能优化清单 — 下篇
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)关于多人操作数据的处理策略
  • .net Signalr 使用笔记
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .考试倒计时43天!来提分啦!
  • @vue/cli脚手架
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用