1.最大二叉树
题目:
2.617.合并二叉树
lass Solution {
public:
TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {
if(root1==NULL) return root2;
if(root2==NULL) return root1;
root1->left=mergeTrees(root1->left,root2->left);
root1->val=root1->val+root2->val;
root1->right=mergeTrees(root1->right,root2->right);
return root1;
}
};
3.700.二叉搜索树中的搜索
题目:700. 二叉搜索树中的搜索 - 力扣(LeetCode)
class Solution {
public:
TreeNode* searchBST(TreeNode* root, int val) {
if (root == NULL || root->val == val) return root;
if (root->val > val) return searchBST(root->left, val);
if (root->val < val) return searchBST(root->right, val);
return NULL;
}
};
4.验证二叉搜索树
class Solution {
long long maxval =-999999999999;
public:
bool isValidBST(TreeNode* root) {
if(root==NULL) return true;
bool left=isValidBST(root->left);
if(maxval<root->val) maxval=root->val;
else return false;
bool right=isValidBST(root->right);
return right&&left;
}
};