LeetCode通关:栈和队列六连,匹配问题有绝招
刷题路线参考:
大家好,我是靠写博客督促自己刷题的老三,这一节我们对线栈和队列。
栈和队列基础
在正式开刷之前,我们先了解一些栈和队列的基础知识。
栈的结构
栈是一种先进后出的顺序表结构。
栈的结构比较简单,就不多了。
栈的实现
因为栈是一个线性表表,因此,线性表支持栈的操作,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/)
❓ 难度:简单