235. 二叉搜索树的最近公共祖先
题目链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/
文章讲解:https://programmercarl.com/0235.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E8%BF%91%E5%85%AC%E5%85%B1%E7%A5%96%E5%85%88.html
视频讲解:https://www.bilibili.com/video/BV1Zt4y1F7ww/?share_source=copy_web
class Solution {
public:
TreeNode* traversal(TreeNode *node ,TreeNode* p, TreeNode* q )
{
if(node == NULL)
{
return node;
}
if(node->val < q->val && node->val < p->val)
{
TreeNode *right = traversal(node->right , p,q);
if(right != NULL)
{
return right;
}
}
if(node->val > q->val && node->val > p->val)
{
TreeNode *left = traversal(node->left , p,q);
if(left != NULL)
{
return left;
}
}
return node;
}
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
return traversal(root,p,q);
}
};
701.二叉搜索树中的插入操作
题目链接: https://leetcode.cn/problems/insert-into-a-binary-search-tree/
文章讲解:https://programmercarl.com/0701.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E6%8F%92%E5%85%A5%E6%93%8D%E4%BD%9C.html
视频讲解:https://www.bilibili.com/video/BV1Et4y1c78Y/?share_source=copy_web
class Solution {
public:
TreeNode* insertIntoBST(TreeNode* root, int val) {
if(root == NULL)
{
TreeNode *node = new TreeNode(val);
return node;
}
if(root->val < val)
{
root->right = insertIntoBST(root->right,val);
}
if(root->val > val)
{
root->left = insertIntoBST(root->left,val);
}
return root;
}
};
450. 删除二叉搜索树中的节点(有点难看不懂)
题目链接: https://leetcode.cn/problems/delete-node-in-a-bst/
文章讲解:https://programmercarl.com/0450.%E5%88%A0%E9%99%A4%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E4%B8%AD%E7%9A%84%E8%8A%82%E7%82%B9.html
视频讲解:https://www.bilibili.com/video/BV1tP41177us/?share_source=copy_web