LeetCode 173: 二叉搜索树迭代器
题目描述:
实现一个二叉搜索树迭代器 (BSTIterator
),基于二叉搜索树(BST)的中序遍历,按升序遍历其节点值。具有以下操作:
BSTIterator(TreeNode root)
:初始化对象并将指针设置为二叉树中的最小元素。int next()
:返回 BST 的下一个最小元素。boolean hasNext()
:如果指针指向的元素不是 BST 的最后一个元素,返回true
,否则返回false
。
题解思路
中序遍历是 左 -> 根 -> 右 顺序。二叉搜索树特性是左子树的值小于根节点,右子树的值大于根节点。因此中序遍历二叉搜索树会得到一个递增的序列。
本题需要解决的问题:
- 高效地返回 BST 的下一个最小值。
- 较低的空间复杂度(尽量不一次性将所有节点存