二叉树最近公共祖先
LCA算法:后续遍历+Flag
1 int Solution::search_lca(TreeNode *root, TreeNode *node1, TreeNode *node2, int &flag, TreeNode *pres) 2 {//查找二叉树公共祖先 3 if (root == NULL) 4 return 0; 5 int ans = (root->val == node1->val || root->val == node2->val) 6 + search_lca(root->left, node1, node2, flag, pres) 7 + search_lca(root->right, node1, node2, flag, pres); 8 if (ans == 2 && flag == 0){ 9 pres = root; 10 flag = 1; 11 } 12 return ans; 13 }