力扣面试 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;
		}
	}
}
相关推荐
302wanger19 分钟前
DeepSeek-V4.1-Flash-1017 免费用到1024,速来
算法
白露与泡影36 分钟前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
lisw0537 分钟前
微分与积分的本质区别解析
算法·数学建模·极限编程
xys_6781 小时前
深挖数据结构:树和二叉树(上)
数据结构·算法
Interview Aid1122 小时前
Google SWE Intern VO 面经:两轮 Coding,Follow-up 考察 BFS 状态
算法
花间相见2 小时前
【计算基础|MySQL09】索引(下):失效与设计
数据库·后端·面试
前端小万2 小时前
探索副业五个月,最终以放弃告终
前端·后端·面试
学到老活到老2 小时前
CAS:不加锁,AtomicInteger 怎么把计数加对?
面试
琳达爱分享2 小时前
从单机令牌桶到集群限流:一次配额超发的复盘
后端·算法
职豚求职小程序2 小时前
中国铁塔2027届校招开启,网申怎么投、笔试面试怎么准备?
面试·职场和发展