您的位置:首页 > 其它

包含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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: