文章 2022-12-02 来自:开发者社区

【LeetCode】剑指 Offer 68 - II. 二叉树的最近公共祖先 (C++ 递归)

题目链接题意求二叉树里两个节点的最近公共祖先思路递归求解。如果当前节点为空,说明已经遍历到了叶子节点的下个节点,返回空。如果当前节点等于p或q,说明当前节点就是最近公共祖先,返回root;否则,递归求当前节点的左子树、右子树里,两者的最近公共祖先。如果左子树的lca为空,说明两者都在右子树里,则lca为右子树的lca返回值。否则,如果右子树的lca为空,说明两者都在左子树里,则lca为左子树的l....

文章 2022-04-28 来自:开发者社区

【LeetCode剑指offer】二叉搜索树的最近公共祖先(迭代or递归)

一、题目二、思路求两个节点的最近公共祖先的题目我们做过,但是这题是二叉搜索树BST,并且本题中所有节点的数值都是不同的,所以可以根据BST的数值特点进行判断,即左子树的所有节点都比当前节点小,右子树的所有节点都比当前节点数值大。若 root 是 p,q 的 最近公共祖先 ,则只可能为以下情况之一:p 和 q 在 root 的子树中,且分列 root 的 异侧(即分别在左、右子树中);p = ro....

【LeetCode剑指offer】二叉搜索树的最近公共祖先(迭代or递归)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注