具体代码:
向上搜索,相当于寻找链表相交节点问题;
具体思路:
// Definition for a Node.
class Node {
public:
int val;
Node* left;
Node* right;
Node* parent;
};
class Solution {
public:
Node* lowestCommonAncestor(Node* p, Node * q) {
set<Node*>se;
while(p){
se.insert(p);
p=p->parent;
}
while(q){
if(se.find(q)!=se.end())
return q;
q=q->parent;
}
return nullptr;
}
};