力扣面试 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;
		}
	}
}
相关推荐
2401_8582861112 小时前
OS82.【Linux】设计线程池
java·linux·运维·服务器·开发语言·算法·线程池
Epiphany.55613 小时前
找到所有好字符串(记忆化搜索+KMP)(里面含KMP模板,用来入门)
算法
YouonlyliveonceC13 小时前
《大话数据结构》第6章精读:线索二叉树 —— 把空指针变成“线索“的完整实现与分析
面试
深圳市快瞳科技有限公司15 小时前
个体识别、行为解读、健康管理:多模态宠物AI大模型的场景化落地
人工智能·算法·计算机视觉·大模型·多模态·宠物·宠物ai识别
wangwangmoon_light15 小时前
1.1 灵神题单总结_滑动窗口与双指针
leetcode
liulilittle15 小时前
归一化:激活函数
人工智能·算法·机器学习·llm
Mem0rin17 小时前
前缀和:一维与二维
数据结构·算法
小趴蔡ha17 小时前
12 K-Means 聚类入门:没有标签如何发现数据分组
算法·kmeans·聚类
-dzk-17 小时前
【二叉树】LC 101.对称二叉树
算法·二叉树
白狐_79817 小时前
408数据结构第6章:图——核心考点、算法对比与AOE网真题
数据结构·算法