首页 > 其他分享 >【LeeCode】栈和队列

【LeeCode】栈和队列

时间:2022-12-15 23:00:54浏览次数:80  
标签:int return 队列 elem useSize LeeCode myStack public

​学习参考​


【栈】

import java.util.*;
// 2022-12-15

// 栈:先进后出
class MyStack {
public int[] elem;
public int useSize;

public MyStack(){
this.elem = new int[10];
}

// 是否栈满
public boolean isFull(){
if (this.useSize == this.elem.length){
return true;
}
return false;
}

public void push(int item){
if (isFull()){
this.elem = Arrays.copyOf(this.elem, 2*2*this.elem.length);
}
this.elem[useSize] = item;
this.useSize++;
}
public boolean empty(){
if (this.useSize == 0) return true;
return false;
}

// 弹出栈顶的值, 删除元素
public int pop(){
if (empty()){
throw new RuntimeException("栈空了");
}
int val = this.elem[this.useSize - 1]; // 先进后出 pop输出最后一个
this.useSize--;
return val;
}

// 弹出栈顶的值, 不删除原来的栈元素
public int peek(){
if (empty()){
throw new RuntimeException("栈空了");
}
return this.elem[this.useSize - 1];
}
}

public class Main{
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6};
MyStack myStack = new MyStack();
myStack.elem = arr;
myStack.useSize = 6;
myStack.pop();
}
}


【队列】


标签:int,return,队列,elem,useSize,LeeCode,myStack,public
From: https://blog.51cto.com/u_13682316/5946646

相关文章

  • 【LeeCode】链表的学习
    基础知识​​学习参考​​importjava.util.*;//JAVA链表classNode{publicintdata;publicNodenext;publicNode(intdata){this.data=data;......
  • 【LeeCode】1832. 判断句子是否为全字母句
    【题目描述】全字母句指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串sentence,请你判断sentence是否为全字母句。如果是,返回true......
  • spring boot + Redis实现消息队列-生产消费者
    实现思路:Redis本身提供了一个发布/订阅模式,但生产消费者模式需要我们自己去实现。利用Redis中的队列,将新消息放入名称为xx的队列末尾,完成消息生产者。启动一个线程,使用​​b......
  • 第一百一十三篇: JS数组Array(二)数组方法 栈、队列、排序
    好家伙,  在上一篇中,我们知道了,JS的数组中每个槽位可以存储任意类型的数据那么,我们能通过数组去模仿某些数据结构吗?答案是肯定的 1.栈方法ECMAScript给数组......
  • 剑指Offer-Java-用两个栈实现队列
    题目用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。代码只需要来回倒就可以实现了。importjava.util.Stack;publicclassSolution{Stack......
  • rabbitMQ交换机,路由键,队列配置
    交换机是直连交换机:先建好交换机,把对应的【队列】通过【路由键】与【交换机】绑定。  队列配置:给队列配置路由键,死信队列 ......
  • 使用redis做消息队列mq的总结
    总结目前使用redis做消息队列的的方式有3中,list,    publish/subscribe,    streamlist做mq的总结使用方法1.生产者可以lpush写入消息,消费者可以rpop读取......
  • 常用队列系统设计,通用his就诊叫号抢号模式,通用his体检叫号自动分配模式
    2022年12月12日14:03:33通用his就诊叫号抢号模式流程说明:患者挂号之后,到就诊科室区域,在护士站刷卡,进入队列,等到叫号屏排队,医生看完当前病人之后,点击叫号软件,从科室队列获......
  • 栈和队列
    3.1栈栈是限定插入或删除操作只能在表尾进行的线性表;后进先出 顺序栈:类似于顺序表,指向表尾(最后插入的位置)作为栈顶指针在非空栈中,栈顶指针top并不是指向栈顶元素,而......
  • 【LeeCode】392. 判断子序列
    【题目描述】给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例......