当前位置: 首页 > news >正文

网站域名查ip长春百度seo代理

网站域名查ip,长春百度seo代理,河北省衡水市景县规划网站,网站百度权重没有数据目录 一、前言 二、题目描述 三、解题方法 ⭐双栈 模拟 队列 🥝栈 和 队列 的特性 🍍具体思路 🍍案例图解 四、总结与提炼 五、共勉 一、前言 用栈实现队列 这道题,可以说是--栈专题--,最经典的一道题&…

目录

一、前言

二、题目描述 

三、解题方法

⭐双栈 模拟 队列

🥝栈 和 队列 的特性 

🍍具体思路

🍍案例图解

四、总结与提炼 

五、共勉   


一、前言

        用栈实现队列 这道题,可以说是--栈专题--,最经典的一道题,也是在面试中频率最高的一道题目,通常在面试中,面试官可能会从多个方面考察这道题目,所以大家需要对这道题目非常熟悉哦!!
       本片博客就来详细的讲讲解一下 用栈实现队列 的实现方法,让我们的面试变的更加顺利!!!

二、题目描述 

题目链接: 232. 用栈实现队列 - 力扣(LeetCode)

请你仅使用两个栈实现先入先出队列队列应当支持一般队列支持的所有操作pushpoppeekempty): 

三、解题方法

⭐双栈 模拟 队列

🥝栈 和 队列 的特性 


队列的特性是 FIFO(先入先出),而栈的特性是 FILO(先入后出)。

知道两者特性之后,我们需要用两个栈来模拟队列的特性,一个栈为入队栈,一个栈为出对栈。


🍍具体思路


我们使用两个栈,其中栈 stk1用于入队,另一个栈 stk2 用于出队。 

  • 入队时,直接将元素入栈 stk1时间复杂度 O(1)。 
  • 出队时,先判断栈 stk2 是否为空,如果为空,则将栈 stk1 中的元素全部出栈并入栈 stk2,然后再从栈 stk2 中出栈一个元素。如果栈 stk2 不为空,则直接从栈 stk2 中出栈一个元素。时间复杂度 O(1)
  • 获取队首元素时,先判断栈 stk2 是否为空,如果为空,则将栈 stk1 中的元素全部出栈并入栈 stk2,然后再从栈 stk2 中获取栈顶元素。如果栈 stk2 不为空,则直接从栈 stk2 中获取栈顶元素。时间复杂度 O(1)
  • 判断队列是否为空时,只要判断两个栈是否都为空即可。时间复杂度 O(1)。 

干涩的语言可能让大家不太好理解,我们在来看一下 详细的图解


🍍案例图解

执行语句:
queue.push(1);
queue.push(2);
queue.pop(); 注意此时的输出栈的操作
queue.push(3);
queue.push(4);
queue.pop();
queue.pop();注意此时的输出栈的操作
queue.pop();
queue.empty();

 我们,根据这些语句,进行 入队 和 出队 的操作

  • 首先 需要 入队列 【1】 【2】

  • 出 队列  将【1】 从队列 中 排出去 

  • 继续 入队列元素 【3】 【4】

  •  清空队列中的元素

  •  最后,判断队列是否为 空


 代码:

class MyQueue {
public:MyQueue() {// 程序自己创建构造函数初始化}void move()  // 移动两个栈 中的 元素{if(st2.empty()){while(!st1.empty()){st2.push(st1.top());st1.pop();}}}void push(int x) // 入 队列{// 将全部元素 入st1 st1.push(x);}int pop()  // 出 队列{// 先 移动 元素move();int ans = st2.top();st2.pop();return ans;}int peek() {move();return st2.top();}bool empty() {return st1.empty() && st2.empty();}private://用两个 栈 实现 队列stack<int> st1;  // 入队stack<int> st2;  // 出队};

四、总结与提炼 

        最后我们来总结一下本文所介绍的内容,本文讲解来一道力扣中有关 用栈实现队列 的题目,这道题目是校招笔试面试中有关栈章节非常高频的一道题目大家下去一定要自己再画画图,分析一下,把这段代码逻辑自己实现一遍,才能更好地掌握 !!

五、共勉   

以下就是我对 用栈实现队列 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对 栈专题 的理解,请持续关注我哦!!! 

http://www.yayakq.cn/news/601290/

相关文章:

  • 电商运营网站网站建设组织机构
  • 域名交易网站全网优化哪家好
  • 网站开发有哪些内容网站管理主要包括哪些内容
  • 给网站做排名优化学什么好广州网站建设吧
  • 网站模板中文企业建站公司推荐
  • 网站制作生成器wordpress编辑header
  • 莱芜综合频道莱芜新闻seozc
  • 网站挂黑链赚钱找谁做网站
  • 影响网站权重的因素有哪些广告设计与制作视频教程
  • 网站开发有哪些流程济源网站建设价格
  • 政务信息网站建设工作站长工具星空传媒
  • 大连网站外包wordpress调用规则
  • 个人链接怎么制作嘉兴seo报价
  • 福田网站制作网站建设意见征求汇报
  • phpcms网站后台遵义58同城网
  • 网站建设服务哪便宜建设工程人员锁定网站
  • 成安县城乡建设规划局网站企业 北京 响应式网站
  • 手机怎么创网站wordpress标题翻译插件
  • 做网站网页需要什么wordpress数据库有多大
  • php电商网站开发的优势成都网站建设方案托管
  • 微网站开发公司网站 制作登录
  • 在自己的网站里做讲课视频电子商务网站有哪些类型
  • 网站开发后台的问题上海怎么建设网站
  • 怎么创建个人网站潍坊网站建设中公
  • 怎样查询网站备案号国内国际新闻最新消息10条
  • 安徽城乡建设局网站网站上怎么做推广
  • 秦皇岛网站建设费用南宁网站建设制作定制
  • 思维导图在线制作网站专业搭建网站
  • 网站排版怎么做新浪云 wordpress
  • 网站研发费用吗郑州手机网站制作公司哪家好