数据结构与算法刷题之【队列】篇
<p>汇总队列相关的数据结构与算法刷题笔记,讲解队列基础、队列最大值、滑动窗口等题型,结合剑指offer与力扣题目给出单调队列等Java实现方案与复杂度分析。</p>
<p>汇总队列相关的数据结构与算法刷题笔记,讲解队列基础、队列最大值、滑动窗口等题型,结合剑指offer与力扣题目给出单调队列等Java实现方案与复杂度分析。</p>
<p>本文讲解 LeetCode 232 用栈实现队列,要求仅用两个栈实现先入先出队列的 push、pop、peek、empty 操作。文章给出题目描述与调试代码,介绍进栈栈与出栈栈的分工,并强调仅在出栈栈为空时才把进栈栈元素整体倒入以均摊 O(1)。</p>
<p>本文记录 LeetCode 225 用队列实现栈,要求用队列实现后入先出栈的四种操作。文章给出题目描述与调试代码,介绍两个单队列通过插入后倒腾并交换实现栈的解法,以及用一个双端队列每次从队头插入和弹出的简化实现。</p>
<p>本文讲解 LeetCode 101 对称二叉树,判断二叉树是否镜像对称。文章给出题目描述与调试代码,介绍递归比较左右外侧与内侧节点的解法,并用 flag 提前终止无意义比较,同时给出用队列成对出入节点的迭代实现。</p>
<p>本文讲解 LeetCode 559 N 叉树的最大深度,求根到最远叶子节点的最长路径节点数。文章给出题目描述与调试代码,介绍通过遍历 children 列表递归比较子树深度取最大值加一的写法,以及借助队列逐层统计的迭代解法。</p>