摘要: 题目链接 108. 将有序数组转换为二叉搜索树 思路 类似于二分搜索,定位到数组中间 mid,然后左边的子数组构成左子树,右边的子数组构成右子树,mid 处的数字构成根结点。递归构建左右子树即可,最后返回 root。 代码 class Solution { public TreeNode sorte 阅读全文
posted @ 2023-02-12 19:37 Frodo1124 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题目链接 669. 修剪二叉搜索树 思路 若 root.val 小于边界值 low,则 root 的左子树必然均小于边界值,我们递归处理 root.right 即可; 若 root.val 大于边界值 high,则 root 的右子树必然均大于边界值,我们递归处理 root.left 即可; 若 r 阅读全文
posted @ 2023-02-12 19:19 Frodo1124 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 题目链接 98. 验证二叉搜索树 思路 依据 BST 的定义:左子树的结点都比根结点小,右子树的结点都比根结点大。我们在递归过程中传递根节点的值,判断当前结点值与根结点值的大小关系。 代码 class Solution { public boolean isValidBST(TreeNode roo 阅读全文
posted @ 2023-02-12 17:53 Frodo1124 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 题目链接 230. 二叉搜索树中第K小的元素 思路 利用 BST 中序遍历是有序的特点,同时每遍历完一个结点将 k--,当 k = 0 的时候,当前结点是第 k 个结点 代码 class Solution { private int k; private int result; public int 阅读全文
posted @ 2023-02-12 15:38 Frodo1124 阅读(19) 评论(0) 推荐(0) 编辑