一、题目描述
实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。
调用 next()
将返回二叉搜索树中的下一个最小的数。
示例:
1 | BSTIterator iterator = new BSTIterator(root); |
提示:
next()
和hasNext()
操作的时间复杂度是 O(1),并使用 O(h) 内存,其中 h 是树的高度。- 你可以假设
next()
调用总是有效的,也就是说,当调用next()
时,BST 中至少存在一个下一个最小的数。
二、题解
1.算法描述
- 二叉搜索树的遍历问题、二叉树的中序遍历
2.个人分析
- 将给定的二叉搜索树进行中序遍历,可以得到一个升序数组
- 遍历数组即可。
3.代码
1 | /** |