力扣面试 150二叉搜索树迭代器 中序遍历 栈模拟递归 步骤拆分

Problem: 173. 二叉搜索树迭代器

思路

👩‍🏫 三叶

复杂度

时间复杂度: O ( 1 ) O(1) O(1)

空间复杂度: O ( h ) O(h) O(h)

Code

Java 复制代码
class BSTIterator {
Stack<TreeNode> d = new Stack<>();

	public BSTIterator(TreeNode root)
	{
		dfsLeft(root);
	}

	public int next()
	{
		TreeNode root = d.pop();
		int ans = root.val;
		root = root.right;
		dfsLeft(root);
		return ans;
	}

	public boolean hasNext()
	{
		return !d.isEmpty();
	}

	void dfsLeft(TreeNode root)
	{
		while (root != null)
		{
			d.push(root);
			root = root.left;
		}
	}
}
相关推荐
Eloudy2 分钟前
最小权重完美匹配(MWPM)与表面码纠错
算法·量子计算
-森屿安年-3 分钟前
62. 不同路径
算法·动态规划
学计算机的计算基15 分钟前
Codex CLI vs Claude Code 全方位对比:设计哲学与用户体验深度解析
算法
欧阳x天21 分钟前
八大排序算法(C语言实现)
数据结构·算法·排序算法
爱睡懒觉的焦糖玛奇朵23 分钟前
【从视频到数据集:焦糖玛奇朵的魔法工具Dataset Cleaner】
人工智能·python·学习·算法·yolo·音视频
xjxijd25 分钟前
行为感知算法赋能运维,提前预判硬件故障与异常访问
运维·算法
江屿风27 分钟前
C++图论基础拓扑排序经典OJ题流食般投喂
开发语言·c++·笔记·算法·图论
C+-C资深大佬30 分钟前
C++ 数字与字符串互转
java·c++·算法
满怀冰雪36 分钟前
第12篇-二分答案法-当答案不好求时如何反向搜索
java·算法
KaMeidebaby39 分钟前
卡梅德生物技术快报|兔单克隆抗体应用实战:禽源病原 IFA 检测全流程拆解
前端·人工智能·物联网·算法·百度