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

网站开发 密码常用seo站长工具

网站开发 密码,常用seo站长工具,旅行社网站建设方案,可信网站认证多少钱本文内容来自于代码随想录 栈 用栈实现队列 两个栈实现队列。思路:两个栈分别表示入栈和出栈。 入队:直接入栈出队: 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.hengruixuexiao.com/news/50745.html

相关文章:

  • 小公司做网站的实力阿里云域名注册官网网址
  • 霞浦县建设局网站百度秒收录技术
  • 云主机做网站永久保留网站查域名备案信息查询
  • 大良用户网站建设代刷网站推广链接0元价格
  • 网络公司经营范围怎么写灯塔网站seo
  • k8team wordpressseo优化广告
  • 网站的域名沈阳网站建设公司
  • 青海省公路工程建设信息网站杭州网站seo推广软件
  • 地区性网站制作百度免费推广有哪些方式
  • 用wordpress制作网站seo网站地图
  • 专业的免费网站建设哪家中国免费网站服务器主机域名
  • 旅游网站设计的目的徐州seo管理
  • 网站建设工作怎么在网上做推广
  • 石家庄网站建设找哪家好网站seo好学吗
  • 渭南做网站的公司电话网站域名查询工具
  • 哪些在线网站可以做系统进化树网站的推广方法
  • 南昌h5建站网络营销咨询服务
  • 织梦程序来搭建网站怎么做好推广
  • 综合性型门户网站有哪些百度广告怎么收费
  • 网页 代码怎么做网站网站推广优化排名公司
  • 国外低代码开发平台seo在线外链
  • 无锡信息网站建设简述seo
  • 设计品牌网站公司腾讯企点是干嘛的
  • 百度公司网站建设刷关键词要刷大词吗
  • 东莞做网站seo优化友情链接推广
  • 金融直播间网站建设有趣软文广告经典案例
  • 宁德时代网站哪个公司做的海南百度推广代理商
  • 电影网站这么做关键词推广公司简介
  • 东莞网站建设代理商我想开个网站平台怎么开呢
  • 家电网站设计方案西安网站建设推广