int tMax(TreeNode* root) { if (root == nullptr) return -0x3f3f3f3f - 1; int val = root->val; if (root->left != nullptr) { int leftVal = tMax(root->left); val = max(leftVal, val); } if (root->right != nullptr) { int rightVal = tMax(root->right); val = max(rightVal, val); } return val; }
int tMin(TreeNode* root) { if (root == nullptr) return 0x3f3f3f3f; int val = root->val; if (root->left != nullptr) { int leftVal = tMin(root->left); val = min(leftVal, val); } if (root->right != nullptr) { int rightVal = tMin(root->right); val = min(rightVal, val); } return val; }
int max(int a, int b) { if (a > b) return a; return b; }
int min(int a, int b) { if (a > b) return b; return a; } };