======|LeetCode #235. 二叉搜索树的最近公共祖先

题目描述:给定二叉搜索树及两个节点,求这两个节点的最近公共祖先
【======|LeetCode #235. 二叉搜索树的最近公共祖先】解题思路:

  • 两个节点分别在左右子树,公共祖先是根节点;
  • 两个节点都在左子树;
  • 两个节点都在右子树;
class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(root==NULL)return NULL; // 要么在左子树,要么在右子树,要么就是根节点 while(root){ if(p->val>root->val&&q->val>root->val) root=root->right; else if(p->valval&&q->valval) root=root->left; else return root; } } };

    推荐阅读