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

二叉树的下一个节点

时间:2023-03-13 10:56:24浏览次数:37  
标签:right TreeNode 一个 father 二叉树 NULL 节点 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!=p->father->left)
            p=p->father;
        return p->father;
    }
};

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

相关文章

  • 重建二叉树
    /***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),......
  • 一个demo学会java
    全栈工程师开发手册(作者:栾鹏)快捷链接:​java开发大全这篇demo较长,包含了java基本的内容,若不是出于校验自己java基础能力的朋友,建议按照上面的链接分章节学习。本demo包含了j......
  • 二叉树、B树、B*树、AVL树... 这么多树你真的搞清楚了吗?
    经常在面试或者平时工作中,我们都会听到类似的树,类似于二叉树、B树、B*树、AVL树等等,很多情况下可能对他们都是只有一知半解。今天我总结了所有常见的树的原理,深入浅出的分......
  • 我的第一个vue页面
    1.使用编辑器打开我们使用vue-cli创建的项目2.创建自己的vue文件  1)在views文件夹中创建vue组件  注意:首字母大写eg.HelloView.vue<!--在页面中显示的内容-->......
  • Linux驱动开发-编译的第一个字符设备驱动
    1.首先需要准备并编译linuxkernal源码编写make脚本build.sh,执行build 2.在vscod中准备kernal路径#include<linux/module.h>staticint__initaaaainit(void)......
  • P2015 二叉苹果树 二叉树dp
    P2015二叉苹果树-洛谷|计算机科学教育新生态(luogu.com.cn)这道题之所以可以不用背包树形的原因是:它一个经典二叉树dp问题令son[x][0]为x的左儿子,son[x][1]为x的右......
  • (P20)从一个实例看数据抽象与封装:用C的方式实现栈 ,用C++数据抽象的方式实现栈
    文章目录​​1.用C的方式实现栈​​​​2.用C++数据抽象的方式实现栈​​1.用C的方式实现栈(1)入栈往栈中压入一个数据项的过程:初始状态:head——>NULL;栈的头指针head指向NU......
  • 条款01:视C++为一个语言联邦
    ViewC++asafederationoflanguages将C++视为由四个次语言组成的语言联邦:C:C++是以C为基础的,包括区块(blocks)、语句(statements)、预处理(preprocessor)、内置数据......
  • 一个100%立即获得New bing资格的方法教程-点击就送bing chat
    之前加入waitlist的账号一个多月过去了还没有任何反应,但是身边朋友却“点击就送”?深入调查后发现原来是IP的影响,相信说到这里就已经有人知道该怎么做了方法:将节点IP更......
  • CGLIB动态生成一个bean
     在没有类的情况下,生成一个bean,之前是不敢想象的,现在cglib做到了importcom.alibaba.fastjson.JSON;importnet.sf.cglib.beans.BeanGenerator;importnet.sf.cgl......