【LeetCode】 五月打卡-day16

这篇博客介绍了如何解决 LeetCode 中面试题 04.06. 后继者的问题。通过利用二叉搜索树(BST)的特性,即中序遍历得到递增序列,分析了根据当前节点与目标节点值的关系来确定搜索方向的方法。当节点值小于等于目标值时,向右子树搜索;反之,可能在当前节点或左子树中找到目标节点的后继者。
摘要由CSDN通过智能技术生成

面试题 04.06. 后继者
在这里插入图片描述
参考题解:
【宫水三叶】BST 特性运用题

二叉搜索树:中序遍历的结果为递增
利用 BST 的特性,可以根据当前节点 root 与 p 的值大小关系来确定搜索方向:

  • 若有 root.val <= p.val : 根据 BST 特性可知当前节点 root 及其左子树子节点均满足「值小于等于 p.val」,因此不可能是 p 点的后继,我们直接到 root 的右子树搜索 p 的后继(递归处理);
  • 若有 root.val > p.val : 当第一次搜索到满足此条件的节点时,在以 root 为根节点的子树中「位于最左下方」的值为 p 的后继,但也有可能 root 没有左子树,因此 p 的后继要么在 root 的左子树中(若有),要么是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值