/* *用js数组模拟栈,把数组的尾部当作栈顶。push方法比较简单,始终往用于push的栈里push就行,主要是pop方法,先判断用于pop的栈是否为空,如果空,则把push栈出栈再入pop栈,如果push栈也为空,返回空,正常就把pop栈的顶部出栈返回。 */ let stack_push=[]; let stack_pop=[]; function push(node) { stack_push.push(node); } function pop() { if(stack_pop.length==0){ if(stack_push.length==0){ return null; } while(stack_push.length>0){ stack_pop.push(stack_push.pop()); } } return stack_pop.pop(); } module.exports = { stack_push:stack_push, stack_pop:stack_pop, push : push, pop : pop };