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

网站开发 密码进入百度搜索网站

网站开发 密码,进入百度搜索网站,西安企业网站建设哪家好,东莞网站推广设计本文内容来自于代码随想录 栈 用栈实现队列 两个栈实现队列。思路:两个栈分别表示入栈和出栈。 入队:直接入栈出队: a. 出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元…

本文内容来自于代码随想录

用栈实现队列

两个栈实现队列。思路:两个栈分别表示入栈和出栈。

  1. 入队:直接入栈
  2. 出队:
    a. 出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元素就变成先出了),然后弹出栈顶
    (2)出栈不为空,那么栈顶就是要出队的元素,直接弹出栈顶

说明:当出栈入栈都有元素的时候,出栈中的元素一定是先入队的,要弹栈优先弹出栈中的元素。出栈空了,再把入栈的元素放到出栈中,再弹栈。

/**
两个栈分别表示入栈和出栈
1. 入队:直接入栈
2. 出队:
(1)出栈为空,先把入栈中的元素全部放到出栈中(相当于反过来,这样在出栈的时候先进的元素就变成先出了),然后弹出栈顶
(2)出栈不为空,那么栈顶就是要出队的元素,直接弹出栈顶
说明:当出栈入栈都有元素的时候,出栈中的元素一定是先入队的,要弹栈优先弹出栈中的元素。出栈空了,再把入栈的元素放到出栈中,再弹栈*/class MyQueue {Stack<Integer> in;Stack<Integer> out;public MyQueue() {in = new Stack<>();out = new Stack<>();}public void push(int x) {in.push(x);}public int pop() {if (out.empty()) {inToOut();}return out.pop();}public int peek() {if (out.empty()) {inToOut();}return out.peek();}public boolean empty() {return in.empty() && out.empty();}public void inToOut() {// 把入栈中的元素全部放到出栈中while (!in.empty()) {int x = in.pop();out.push(x);}}
}/*** Your MyQueue object will be instantiated and called as such:* MyQueue obj = new MyQueue();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.peek();* boolean param_4 = obj.empty();*/

队列

用队列实现栈

两个队列实现栈。用栈模拟队列相对就容易一点,用两个队列。区别在于:另外一个队列只是用来备份数据。在弹栈的时候

  1. 先将 q1 中的数据出队到只剩一个,保存在 q2 中
  2. 将 q1 中最后一个数据出队。最后一个数据就是栈顶
  3. 将 q2 中的数据再出队,保存到 q1 中
class MyStack {Queue<Integer> q1;Queue<Integer> q2;public MyStack() {q1 = new LinkedList<>();q2 = new LinkedList<>();}public void push(int x) {q1.offer(x);}public int pop() {oneToTwo();int x = q1.poll();TwoToOne();return x;}public int top() {oneToTwo();int x = q1.poll();q2.offer(x);TwoToOne();return x;}public boolean empty() {return q1.isEmpty();}public void oneToTwo() {while (q1.size() > 1) {int x = q1.poll();q2.offer(x);}}public void TwoToOne() {while (!q2.isEmpty()) {int x = q2.poll();q1.offer(x);}}
}/*** Your MyStack object will be instantiated and called as such:* MyStack obj = new MyStack();* obj.push(x);* int param_2 = obj.pop();* int param_3 = obj.top();* boolean param_4 = obj.empty();*/

经典题型

  • 有效的括号
  • 删除字符串中的所有相邻重复项
  • 逆波兰表达式求值
  • 前 K 个高频元素
http://www.hrbkazy.com/news/21316.html

相关文章:

  • 自己做网站还是开淘宝百度软件应用市场
  • 网站建设 深圳信科公司浏览器搜索引擎大全
  • 官方网站下载微博湖南产品网络推广业务
  • 什么软件可以在手机上做装修设计百度seo培训班
  • miit网站备案百度下载电脑版
  • 婚纱影楼网站模板济南网站建设老威
  • 北京网站建设服务器维护网站建设一般多少钱
  • 接加工订单的网站百度竞价排名商业模式
  • 网站建设创新成果长沙做优化的公司
  • 厚街网站建设多少钱跨境电商平台
  • 网站开发平均工资开发一个app平台大概需要多少钱?
  • 成华区微信网站建设在线推广网站的方法
  • 临淄区住房和城乡建设局网站常用的网络营销工具有哪些
  • 公司做网站要三千多吗苹果cms永久免费全能建站程序
  • 某网络公司网站源码 蓝色建站企业网站源码新网站怎么快速收录
  • 网站开发能干什么湖南百度seo排名点击软件
  • wordpress5.2.2编辑器中文哈尔滨seo优化培训
  • pc端手机网站 样式没居中企业网络搭建方案
  • 建设工程教育网官方网站百度快照是什么
  • 域名注册新网厦门seo优化外包公司
  • 买房网站排名盐城seo培训
  • 成都家居网站建设万网查询
  • 网站分析报告网络推广优化
  • 网站佣金怎么做凭证做网站需要多少钱 都包括什么
  • 闲鱼怎么做钓鱼网站厦门百度关键词优化
  • 什么网站可以做期货关键词seo优化
  • 上海免费网站建设模板推荐网红推广
  • 公司网站百度搜索的描述怎么做江门关键词排名工具
  • 外贸出口新三样百度seo在哪里
  • 自考大专报名官网入口seo的搜索排名影响因素有哪些