摘要: 递归 需要想清楚五种情况如注释所示,利用递归的返回值来删除目标节点 class Solution { public TreeNode deleteNode(TreeNode root, int key) { // 第一种情况,没有找到删除节点直接返回null if (root == null) re 阅读全文
posted @ 2020-11-04 22:04 消灭猕猴桃 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 题目 题目:链接:https://leetcode-cn.com/problems/insert-into-a-binary-search-tree 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意 阅读全文
posted @ 2020-11-04 16:26 消灭猕猴桃 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目 https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/ 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q, 阅读全文
posted @ 2020-11-04 15:44 消灭猕猴桃 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目 链接:https://leetcode-cn.com/problems/find-mode-in-binary-search-tree 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结 阅读全文
posted @ 2020-11-04 14:44 消灭猕猴桃 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 题目 链接:https://leetcode-cn.com/problems/minimum-absolute-difference-in-bst 给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。 示例: 输入: 1 \ 3 / 2 输出: 1 解释: 最小绝对差为 阅读全文
posted @ 2020-11-04 13:27 消灭猕猴桃 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 递归 二叉搜索树转化为有序数组 class Solution { List<Integer> ans = new ArrayList<>(); public boolean isValidBST(TreeNode root) { traversal(root); for (int i = 1; i 阅读全文
posted @ 2020-11-04 11:42 消灭猕猴桃 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 题目 链接:https://leetcode-cn.com/problems/search-in-a-binary-search-tree 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 阅读全文
posted @ 2020-11-04 10:57 消灭猕猴桃 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 一次遍历 这题的关键是判断两个区间是否存在交集,比如区间$S_1[l_1,r_1],S_2[l_2, r_2];如果r_1<l_2说明S_1在S_2左侧无交集,如果l_1>r_2则说明S_1>S_2则S_1在S_2右侧无交集,如果不符合以上两个条件则说明有交集,\(则可以通过\)[max(l_1,l 阅读全文
posted @ 2020-11-04 10:02 消灭猕猴桃 阅读(55) 评论(0) 推荐(0) 编辑