包含min函数的栈
2016-03-25 15:47
204 查看
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。在线代码:
import java.util.Stack; public class Solution { Stack datastack=new Stack();//数据栈 Stack min=new Stack();//存放最小元素的辅助栈 public void push(int node) { if(min.empty()){ min.push(node);//如果辅助栈是空,则压入结点 }else{ int top=(int)min.peek();//拿出栈顶元素 if(node<top){ min.push(node);//比较最小的进入辅助栈 }else{ min.push(top); } } datastack.push(node); } public void pop() { if(!(datastack.empty())){ datastack.pop(); //数据栈不为空出栈 min.pop(); } } public int top() { return (int) datastack.peek();//拿到栈顶元素 } public int min() { if(min.empty()){ return 0; }else{ return (int)min.peek(); } } }
相关文章推荐