首页 > 其他分享 >二叉树的下一个节点

二叉树的下一个节点

时间:2022-12-10 16:57:08浏览次数:47  
标签:right TreeNode 一个 father 二叉树 节点 left

给定一棵二叉树的其中一个节点,请找出中序遍历序列的下一个节点。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode *father;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL), father(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* inorderSuccessor(TreeNode* p) {
        if (p->right) {
            p = p->right;
            while (p->left) p = p->left;
            return p;
        }
        
        while (p->father && p->father->right == p) p = p->father;
        return p->father;
    }
};

  

标签:right,TreeNode,一个,father,二叉树,节点,left
From: https://www.cnblogs.com/leetothemoon/p/16971852.html

相关文章

  • 从头开始搭建一个SpringBoot项目--SpringSecurity的配置
    OverridetheentrypointofanimageIntroducedinGitLabandGitLabRunner9.4.Readmoreaboutthe extendedconfigurationoptions.Beforeexplainingtheav......
  • 如何使用Github创建一个仓库
    创建仓库(对我来说,这是新建)点击这里的Createrepository:进入到这样一个界面:其中,Repositoryname,是我们即将创建完成的仓库名称;而这里:需要填写的是对仓库的相关描述,当然......
  • k8s节点磁盘满了,无法调度的解决方案
     在fat-k8s-worker13节点上操作1、先清理磁盘垃圾文件2、删除Exited状态的容器(删除的过程中遇到报错没关系,只要执行一次就好)dockerrm-f$(dockerps-a|grep'E......
  • 重建二叉树
    输入一棵二叉树前序遍历和中序遍历的结果,请重建该二叉树。/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;......
  • 计算机视觉中由基本矩阵F或者本质矩阵E计算摄像机投影矩阵时,经常提到“相差一个尺度因
    在通过二维像素坐标恢复三维坐标的过程中,经常出现这个齐次坐标系、尺度不变性的概念。​​这篇博客​​讲的比较好。一、关于齐次坐标系的直观感受在我们的世界里,两平行线是......
  • 一个递归的bug(深度优先)
    一.前情回顾1.题目介绍与正确源码二.问题分析1.答辩的时候,发现代码异常,代码有两点错误:1.1递归出口有问题。1.2结果出来的时候没有结束递归。三.错误源码四.错误结......
  • Delphi 同一个程序只允许一个实例同时运行
    programProject1;//注意,这是工程文件(工程源码)uses//引用Winapi.Windows,如果还要弹窗就引用Vcl.DialogsVcl.Forms,Winapi.Windows,Vcl.Dialogs......
  • 开发一个最简单的iOS App
    开发一个最简单的iOSApp大家好,我是孜孜不倦学习的Zhangbeihai。上月底我组织了【组队学习】TensorFlow入门课程(中文),截至目前有300多同学加入。主要就是TensorFlowLi......
  • 代码随想录——二叉树
    二叉树的递归遍历前序中序后序简单//前序遍历·递归·LC144_二叉树的前序遍历classSolution{publicList<Integer>preorderTraversal(TreeNoderoot){......
  • spring——第一个spring案例
    Spring是什么(理解) Spring是分层的JavaSE/EE应用full-stack轻量级开源框架,以IoC(InverseOfControl:反转控制)和AOP(AspectOrientedProgramming:面向切面编程)为内核......