题解 | #圣诞树#
【模板】栈
http://www.nowcoder.com/practice/104ce248c2f04cfb986b92d0548cccbf
const list = [];
function push(num) {
if(!isLegal(num)) {
return;
}
list.unshift(parseInt(num))
}
function pop() {
if(list.length<=0) {
console.log('error')
return;
}
const num = list.shift()
console.log(num)
return num
}
function top() {
if(list.length<=0) {
console.log('error')
return
}
const num= list[0];
console.log(num)
return num
}
function isLegal(str) {
if(!/\d+/.test(str)){
console.log('str should be a integar number')
return false;
}
let num = parseInt(str);
if(num <1 || num > 100000) {
console.log('num should be between 1 and 100000')
return false;
}
return true;
}
const readline = require('readline'); const r1= readline.createInterface({ input:process.stdin, output:process.stdout }) r1.on('line',(data) => { if(/push \d+/.test(data)) { let str = /push (\d+)/.exec(data)[1] push(str) } else if(/pop/.test(data)){ pop(); } else if(/top/.test(data)) { top(); } });