刷题路线参考:

https://github.com/chefyuan/algorithm-base

https://github.com/youngyangyang04/leetcode-master

大家好,我是靠写博客督促自己刷题的老三,这一节我们对线栈和队列。

栈和队列基础

在正式开刷之前,我们先了解一些栈和队列的基础知识。

栈的结构

栈是一种先进后出的顺序表结构。

栈示意图

栈的结构比较简单,就不多了。

栈的实现

因为栈是一个线性表表,因此,线性表支持栈的操作,ArrayList 和 LinkedList 都可以作为栈来使用。

可以直接使用 Stack 类来进行创建一个栈,这个继承的是过期。

Deque<TreeNode> stack = new LinkedList<TreeNode>();//类型为TreeNode
Stack<TreeNode> stack = new Stack<TreeNode>();

队列结构

队列是一种先进先出的数据结构

队列结构

队列实现

队列也是表结构,比较常用的是由LinkedList实现。

  Queue<TreeNode> queue = new LinkedList<TreeNode>();

好了,两种数据结构也比较简单,开始我们的刷题之旅吧!

刷题现场

剑指 Offer 09. 用两个栈实现队列

☕ 题目:剑指 Offer 09. 用两个栈实现队列(https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/)

❓ 难度:简单

版权声明:本文为three-fighter原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/three-fighter/p/15166195.html