后继者00

题目链接

后继者

题目描述

注意点

  • 题目中的树是二叉搜索树
  • 节点p在二叉搜索树中一定存在

解答思路

  • 本题关键是找到值大于节点p的值的第一个节点,因为本题中的树是二叉搜索树,所以左子树的值始终小于根节点,右子树的值始终大于根节点
  • 访问到任意一个节点,当节点值不大于节点p的值,则该节点对应的子树都不可能是结果中的后继者,可以直接去该节点的右子树进行查找;当节点值大于节点p的值,则应该找到该节点对应的子树中的最小值(可能在左子树也可能是它自己),也就是值大于节点p的值的第一个节点

代码

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
        if (root == null) {
            return null;
        }
        if (root.val <= p.val) {
            return inorderSuccessor(root.right, p);
        }
        TreeNode res = inorderSuccessor(root.left, p);
        return res == null ? root : res;
    }
}

关键点

  • 找到树中大于节点p的值的第一个节点

相关推荐

  1. [OpenAI]ChatGPT发布的Sora模型原理与体验通道

    2024-06-13 10:08:01       18 阅读
  2. 【LintCode】448 · 二叉查找树的中序

    2024-06-13 10:08:01       16 阅读
  3. 285. 二叉搜索树中的中序

    2024-06-13 10:08:01       7 阅读
  4. 00同事离职

    2024-06-13 10:08:01       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-13 10:08:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-13 10:08:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-13 10:08:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-13 10:08:01       20 阅读

热门阅读

  1. 【odoo】odoo模块目录结构说明

    2024-06-13 10:08:01       10 阅读
  2. Oracle数据库之加锁的方法(十六)

    2024-06-13 10:08:01       8 阅读
  3. Eclipse的下载和安装

    2024-06-13 10:08:01       8 阅读
  4. Perl语言入门学习

    2024-06-13 10:08:01       7 阅读
  5. 用winform开发一个笔记本电脑是否在充电的小工具

    2024-06-13 10:08:01       10 阅读
  6. Linux常用命令大全

    2024-06-13 10:08:01       7 阅读
  7. React常见面试题(2024最新版)

    2024-06-13 10:08:01       9 阅读
  8. 算法笔记 图论和优先级队列的笔记

    2024-06-13 10:08:01       5 阅读
  9. linux开发常用命令

    2024-06-13 10:08:01       6 阅读
  10. 代码整洁之道学习笔记

    2024-06-13 10:08:01       5 阅读