堆栈面试题之共享栈,最小栈,判断一个序列是否由一个栈进行基本的入出栈操作而得到1.共享栈:2.最小栈:3.判断一个序列是否由一个栈进行基本操作而得到
1.共享栈:方法:用数组实现,定义一个结构体,结构体中包含2个栈,其中一个栈的栈底数组中下标为0处,而两外一个栈的栈底为数组的最大值处。当两个栈的栈顶相遇时,即栈满。2.最小栈:即:每次取栈顶元素取出来当前栈中最小的元素。方法1:使用2个栈来实现,一个栈用来保存入栈的所有元素,另外一个栈用来保存当前栈中最小的元素。所以在取栈顶元素时就从保存较小元素的那个栈中取。可能讲的不是很清楚,看下图所示:方法...