本题源自leetcode。https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/description/
----------------------------------------------
代码: 递归
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
if(!root || root == p || root == q)
return root;
TreeNode* left=lowestCommonAncestor(root->left,p,q);
TreeNode* right=lowestCommonAncestor(root->right,p,q);
if(left==NULL)
return right;
if(right==NULL)
return left;
return root;
}
非递归:
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
vector<TreeNode*> left;
vector<TreeNode*> right;
TreeNode* node=root;
TreeNode* res=