代码随想录算法训练营第十天 | 栈与队列理论基础,232.用栈实现队列,225.用队列实现栈

一、栈与队列理论基础

学习:

1. 定义

  • 栈先进后出
  • 队列先进先出

2. 底层实现
均可以通过数组或链表进行实现

二、232.用栈实现队列

题目链接:

LeetCode 232.用栈实现队列

学习前:

思路:

学习后:

  • 不同方法有部分功能实现是一致的,则可以进行抽象提取,实现复用性
  • 两个栈实现队列

时间复杂度:入队为O(1),队首元素和出队为O(n)

空间复杂度:O(1)

三、225.用队列实现栈

题目链接:

LeetCode 225.用队列实现栈

学习前:

思路:

用两个队列实现一个栈,每次把length-1个元素放入队列二,队列1用于pop,peek,push

时间复杂度:插入为O(1),栈顶元素和出栈为O(n)

空间复杂度:O(1)

学习后:

用一个队列实现一个栈,通过不断地pop和push,使得最后一个元素变成入队元素

四、学习总结

  1. 时间:3h
  2. 学会自己写一个栈和队列数据结构的实现类
posted @   amulet  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示