![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BST
我要上岸!!!
这个作者很懒,什么都没留下…
展开
-
Leetcode 230 Kth Smallest Element in a BST
思路 由于bst的中序遍历可以得到一个升序的序列,因此对bst进行中序遍历并记录已经遍历过的数字,当遍历过count==k-1时(count初始为0),说明现在正在遍历的是第k小的数字,保存起来等到最后返回即可。 小技巧 需要注意的是在java的值传递方式,将count和result放到数组中可以随着递归改变值 代码 /** * Definition for a binary tree node...原创 2019-03-12 05:58:12 · 77 阅读 · 0 评论 -
LeetCode 285 / LintCode 448 Inorder Successor in BST
思路 思路1: 直接递归寻找后继,不考虑BST的性质,当作一般的二叉树来考虑。用递归很容易实现。 时间复杂度O(n),空间复杂度O(log n)(递归栈) 思路2:考虑BST的性质,类似二分的思想(为了O(h)的复杂度)。每次将p与root的值进行对比:(1)p>=root, 则搜索右子树; (2)p<root, 则搜索左子树,后继存在两种可能性:root或者左子树中的某个节点。如果...原创 2019-05-13 13:25:49 · 208 阅读 · 0 评论 -
LeetCode173 / LintCode 86 Binary Search Tree Iterator
思路 next使用bst的迭代版中序遍历 初始化和next基本组成了bst迭代版的中序遍历 复杂度 hasNext, next时间复杂度O(1) 空间复杂度O(1) 代码 /** * Definition of TreeNode: * public class TreeNode { * public int val; * public TreeNode left, righ...原创 2019-08-29 23:09:36 · 117 阅读 · 0 评论