文章 2024-10-15 来自:开发者社区

【LeetCode 46】450.删除二叉搜索树的节点

一、题意 二、解答过程 二叉搜索树的删除要比插入困难,复杂。同样需要递归! 二叉搜索树删除情况有五种: 没找到删除的节点,遍历到空节点直接返回了 找到删除的节点 第二种情况:左右孩子都为空(叶子节点),直接删除节点, ...

【LeetCode 46】450.删除二叉搜索树的节点
文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】450. 删除二叉搜索树中的节点

1 题目 给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。 一般来说,删除节点可分为两个步骤: 首先找到需要删除的节点;如果找到了,删除它。 示例 1: 输入:root = [5,3,6,2,4,null,7], key = 3输出:[5,4,6,2,null,...

【Leetcode刷题Python】450. 删除二叉搜索树中的节点
文章 2024-05-27 来自:开发者社区

【LeetCode】剑指 Offer 54. 二叉搜索树的第k大节点

题目: 给定一棵二叉搜索树,请找出其中第 k 大的节点的值。 示例 1: 输入: root = [3,1,4,null,2], k = 1   3  / \ 1   4  \   2 输出: 4 示例 2: 输入: root = [5,3,...

文章 2024-01-12 来自:开发者社区

golang力扣leetcode 450.删除二叉搜索树中的节点

450.删除二叉搜索树中的节点450.删除二叉搜索树中的节点题解如果key < root.Val,说明要删除的节点在BST的左子树,那么递归的去左子树删除即可2 如果key > root.Val,说明要删除的节点在BST的右子树,那么递归的去右子树删除即可3 如果key = root.Val,说明要删除的节点就是本节点,这一类又分以下三种情况:要删除的节点是叶子节点,那很简单,直接将....

文章 2024-01-11 来自:开发者社区

leetcode-450:删除二叉搜索树中的节点

题目题目链接给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,4,null,7] key = 3 ...

leetcode-450:删除二叉搜索树中的节点
文章 2023-11-16 来自:开发者社区

代码随想录算法训练营第二十一天 | LeetCode 235. 二叉搜索树的最近公共祖先、701. 二叉搜索树中的插入操作、450. 删除二叉搜索树中的节点

1. LeetCode 235. 二叉搜索树的最近公共祖先1.1 思路在普通二叉树中搜索最近公共祖先是用了后序遍历,然后一层一层返回。本题是二叉搜索树,可以利用它的特性,如果p和q都比根节点小,那说明最近公共祖先一定在左子树。如果p和q都比根节点大,那说明最近公共祖先一定在右子树。那找到了一个节点在p和q之间,那就是公共节点了,并且一定是最近的了,因为是二叉树,再往下不管是左还是右都分开了递归函....

文章 2023-10-26 来自:开发者社区

代码随想录Day18 LeetCode235 二叉搜索树的公共祖先 T701二叉搜索树中的插入操作 T140 删除二叉搜索树中的公共节点

LeetCode T235 二叉搜索树的公共祖先题目链接235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode)题目思路此题不涉及遍历顺序.关于二叉搜索树的定义,这里我就不过多赘述了,前面几篇都说清楚了,根节点比左子树元素都大,比右子树元素都小,这道题我们就可以知道,两个节点的最近公共祖先一定满足夹在两个节点的中间这个条件.那么,夹在两个节点之间的一定是最近的公共祖先吗?答案是肯定的,我....

代码随想录Day18 LeetCode235 二叉搜索树的公共祖先 T701二叉搜索树中的插入操作 T140 删除二叉搜索树中的公共节点
文章 2023-05-05 来自:开发者社区

图解LeetCode——剑指 Offer 54. 二叉搜索树的第k大节点

一、题目给定一棵二叉搜索树,请找出其中第 k 大的节点的值。二、示例2.1> 示例 1:2.2> 示例 2:限制:1 ≤ k ≤ 二叉搜索树元素个数三、解题思路根据题目描述,给定的是一棵二叉搜索树,那么这个二叉树具有的特征就是:【若它的左子树不空】则左子树上所有结点的值均小于它的根结点的值; 【若它的右子树不空】则右子树上所有结点的值均大于它的根结点的值;那么我们需要找到这棵二叉搜索....

图解LeetCode——剑指 Offer 54. 二叉搜索树的第k大节点
文章 2023-02-18 来自:开发者社区

leetcode 450删除二叉搜索树中的节点

删除二叉搜索树中的节点递归法/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr), right(nullptr) {...

leetcode 450删除二叉搜索树中的节点
文章 2022-12-14 来自:开发者社区

代码随想录刷题|LeetCode 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

235.二叉搜索树的最近公共祖先题目链接:力扣思路这道题目比236.二叉树的最近公共祖先更有特殊性,所以使用一般二叉树的最近公共祖先的查找方法完全是可以的        然后就是利用二叉树的特性进行判断了二叉搜索树的最近公共祖先class Solution { public TreeNode lowestCommonAncestor(TreeNod...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等