二叉树最小公共父节点

来源:互联网 发布:java base64解码代码 编辑:程序博客网 时间:2024/06/13 17:27
/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {        if(root==NULL){            return NULL;        }        if(root==p || root==q){            return root;        }        TreeNode* left=lowestCommonAncestor(root->left,p,q);        TreeNode* right=lowestCommonAncestor(root->right,p,q);        if(left!=NULL && right!=NULL){            return root;        }        else if(left==NULL){            return right;        }        else{            return left;        }    }};

原创粉丝点击