本菜鸡能想到的方法MLE了
用例的树小的时候应该是可以过的,但就是因为俩vector导致MLE了QAQ
#include
#include
#include
大佬的方法%%%
算是一时看懂了,主要在理解这行
return left == nullptr? right : (right == nullptr? left : root);
%%%%%%%
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
if(root == nullptr || root == p || root == q){return root; }
TreeNode* left = lowestCommonAncestor(root->left, p, q);
TreeNode* right = lowestCommonAncestor(root->right, p, q);
return left == nullptr? right : (right == nullptr? left : root); //it's impossible that left and right are all nullptr
}