直接递归,思路清晰
class Solution { public: int lowestCommonAncestor(TreeNode* root, int p, int q) { int Min = min(p, q); int Max = max(p, q); if (root->val > Min && root->val > Max) { return lowestCommonAncestor(root->left, p, q); } if (root->val < Min && root->val < Max) { return lowestCommonAncestor(root->right, p, q); } return root->val; } };