题目链接
英文链接:https://leetcode.com/problems/binary-search-tree-iterator/
中文链接:https://leetcode-cn.com/problems/binary-search-tree-iterator/
题目详述
实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。
调用 next() 将返回二叉搜索树中的下一个最小的数。
示例:

| 1 | BSTIterator iterator = new BSTIterator(root); | 
提示:
- next()和- hasNext()操作的时间复杂度是 O(1),并使用 O(h) 内存,其中 h 是树的高度。
- 你可以假设 next()调用总是有效的,也就是说,当调用next()时,BST 中至少存在一个下一个最小的数。
题目详解
由于给定的是一颗二叉搜索树,对它进行中序遍历得到的结果就是从小到大排列的。类似于 LeetCode94-二叉树的中序遍历,可以按照中序遍历的方式,一步一步进行迭代,这样可以不断得到下一个最小的数。
| 1 | public class LeetCode_00173 { |