首页 > 其他 > 详细

[235] Lowest Common Ancestor of a Binary Search Tree

时间:2020-04-12 11:17:57      阅读:49      评论:0      收藏:0      [点我收藏+]

要求

  • 给定一棵二分搜索树和两个节点,寻找这两个节点的最近公共祖先

示例

  • 2和8的最近公共祖先是6
  • 2和4的最近公共祖先是2

技术分享图片

思路

  • p q<node
  • node<p q
  • p<=node<=q

实现

技术分享图片
 1 class Solution {
 2 public:
 3     TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
 4         
 5         assert( p != NULL && q != NULL );
 6         
 7         if( root == NULL )
 8             return NULL;
 9         
10         if( p->val < root->val && q->val < root->val )
11             return lowestCommanAncestor( root->left , p , q );
12         if( p->val > root->val && q->val > root->val )
13             return lowestCommanAncestor( root->right , p , q );
14             
15         return root;
16     }    
17 };
View Code

相关

  • 98 Validate Binary Search Tree
  • 450 Delete Node in a BST
  • 108 Convert Sorted Array to Binary Search Tree
  • 230 Kth Smallest Element in a BST
  • 236 Lowest Common Ancestor of a Binary Tree

 

[235] Lowest Common Ancestor of a Binary Search Tree

原文:https://www.cnblogs.com/cxc1357/p/12684102.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!