题解 | #【模板】栈#

【模板】栈

https://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
class Stack{
    constructor(x){
        this.x=x;
        this.arr=[]
    }
    push(x){
        return !isNaN(parseInt(x)) ? this.arr.push(x):console.log("输入整数")
    }
    pop(){
        return this.arr.length===0 ? 'error':this.arr.pop();
    }
    top(){
        let length=this.arr.length
        return this.arr.length===0 ? 'error':this.arr[length-1]
    }
}
let stack=new Stack()
let count=1;
let dataLine=[]
let n
void async function () {
    // Write your code here
    while(line = await readline()){
        dataLine.push(line)
        if(count==1){
            n=parseInt(dataLine[0])
        }
        
    }
    for(let i=1;i<=n;i++){
        if(dataLine[i].includes('push')){
            stack.push(dataLine[i].split(' ')[1])
        }else if(dataLine[i].includes('pop')){
            let numPop=stack.pop()
            console.log(numPop)
        }else if(dataLine[i].includes('top')){
            let numTop=stack.top()
            console.log(numTop)
        }
    }
}()

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务