栈数据结构(面试题js)

389 阅读1分钟

模拟实现栈数据结构(先进后出)

这是我身边的小伙伴去面试的时候遇到的一个面试题,当时就把他问懵逼了,这笔试题还真是需要灵活的思维,和足够强的应变能力,咱看了也不能说一点不会吧,一点代码没写出来当时。那给我朋友和面试官尴尬的哟,真想找个地缝钻进去,可惜当时是没有地缝的,哈哈

这里把这道题的解题代码直接附上

  • 题目是这样的

微信图片_20220214155051.png

  • 想要实现的效果是这样的

微信图片_20220214155057.png

这里直接给大家上代码,为了方便大家直接复制,咱不贴图,救说坐着贴不贴心就完事了

class Stack{
    constructor() {
        this.items = []
    }
    in(value) {
        this.items.push(value)
    }
    out() {
        if(this.size() <= 0) return null
        return this.items.pop()
    }
    top() {
        if (this.size() <=0 ) return null
        return this.items[this.size() -1 ]
    }
    size() {
        return this.items.length
    }
}

const stack = new Stack()
stack.in('x')
stack.in('y')
stack.in('z')

console.log(stack.top())
console.log(stack.size())
console.log(stack.out())
console.log(stack.top())
console.log(stack.size())
  • 实现的控制台效果在这里 微信图片_20220214155409.png

请大家参考......