栈是一种 后进先出 (LIFO)的数据结构,新添加的和待删除的元素都保存在同一端,称作栈顶,另一段叫栈底。

基于数组创建栈

  1. /**
  2. * push 入栈 栈顶添加元素
  3. * pop 出栈 栈顶删除元素 返回出栈的元素
  4. * peek 返回栈顶元素 不改变栈
  5. * size 返回栈中元素的个数
  6. * isEmpty 栈是否为空
  7. */
  8. class Stack {
  9. constructor() {
  10. this.items = [];
  11. }
  12. push(element) {
  13. this.items.push(element);
  14. }
  15. pop() {
  16. return this.items.pop();
  17. }
  18. peek() {
  19. return this.items[this.items.length - 1];
  20. }
  21. size() {
  22. return this.items.length;
  23. }
  24. isEmpty() {
  25. return this.items.length === 0;
  26. }
  27. }