设计包括min函数的栈 题目:定义栈的数据结构,要求加入一个min函数,可以得到栈的最小元素.要求函数min.push以及pop的时间复杂度都是O(1). 分析:这是2006年google的一道面试题. 我看到这道题目时,第一反应就是每次push一个新元素时,将栈里全部逆序元素排序. 这样栈顶元素将是最小元素.但因为不能保证最后push进栈的元素最先出栈,这样的思路设计的数据结构已经不是一个栈了. 在栈里加入一个成员变量存放最小元素(或最小元素的位置).每次push一个新元素进栈的时候,假设该元…