stack

stack 特点

  • 先进后出
  • 支持push pop peek操作

stack 如何实现

public class ArrayStack {
 private String[] items; // 数组
 private int count; // 栈中元素个数
 private int n; //栈的大小
 // 初始化数组,申请一个大小为n的数组空间
 public ArrayStack(int n) {
 this.items = new String[n];
 this.n = n;
 this.count = 0;
 }
 // 入栈操作
 public boolean push(String item) {
 // 数组空间不够了,直接返回false,入栈失败。
 if (count == n) return false;
 // 将item放到下标为count的位置,并且count加一
 items[count] = item;
 ++count;
 return true;
 }

 // 出栈操作
 public String pop() {
 // 栈为空,则直接返回null
 if (count == 0) return null;
 // 返回下标为count-1的数组元素,并且栈中元素个数count减一
 String tmp = items[count-1];
 --count;
 return tmp;
 }
}

stack 典型用例

  • 浏览器的前进后退
  • 表达式求值(34+13*9+44-12/3)

stack leetCode相关题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容