首页 > 其他 > 详细

Lowest Common Ancestor of a Binary Tree & Binary Search Tree

时间:2014-03-03 09:32:55      阅读:409      评论:0      收藏:0      [点我收藏+]

这里有两种情况,一种是Binary Tree,一种是Binary Search Tree。

Binary Search Tree

bubuko.com,布布扣
1 Node *LCA(Node *root, Node *p, Node *q) {
2   if (!root || !p || !q) return NULL;
3   if (max(p->data, q->data) < root->data)
4     return LCA(root->left, p, q);
5   else if (min(p->data, q->data) > root->data)
6     return LCA(root->right, p, q);
7   else
8     return root;
9 }
bubuko.com,布布扣

 

Binary Tree

bubuko.com,布布扣
1 Node *LCA(Node *root, Node *p, Node *q) {
2   if (!root) return NULL;
3   if (root == p || root == q) return root;
4   Node *L = LCA(root->left, p, q);
5   Node *R = LCA(root->right, p, q);
6   if (L && R) return root;  // if p and q are on both sides
7   return L ? L : R;  // either one of p,q is on one side OR p,q is not in L&R subtrees
8 }
bubuko.com,布布扣

 

http://leetcode.com/2011/07/lowest-common-ancestor-of-a-binary-search-tree.html

http://leetcode.com/2011/07/lowest-common-ancestor-of-a-binary-tree-part-i.html

Lowest Common Ancestor of a Binary Tree & Binary Search Tree,布布扣,bubuko.com

Lowest Common Ancestor of a Binary Tree & Binary Search Tree

原文:http://www.cnblogs.com/longhorn/p/3576665.html

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