package com.example.demo;
import java.util.Stack;
/**
* Created by Administrator on 17.6.1.
*/
public class MyStack {
private Stack<Integer> stackData;
private Stack<Integer> stackMin;
public MyStack() {
stackData = new Stack<Integer>();
stackMin = new Stack<Integer>();
}
public void push(int num) {
if (stackMin.isEmpty()) {
stackMin.push(num);
} else if (getMin() > num) {
stackMin.push(num);
}
stackData.push(num);
}
public int pop() {
if (this.stackData.isEmpty()) {
throw new RuntimeException("stack is empty");
}
Integer value = stackData.pop();
if (value == getMin()) {
stackMin.pop();
}
return value;
}
public int getMin() {
if (stackMin.isEmpty()) {
throw new RuntimeException("stack is empty");
}
return stackMin.peek();
}
}
设计一个具有getMin功能的栈
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 众贷汇:投资人如何选择P2P平台? 纵观国内投资理财市场,相比较而言,P2P理财产品的年化收益率普遍较高,业内较靠...
- 小编按:这是一篇 Bugtags 用户来稿,主要是介绍了使用 Bugtags 前后对测试及解决 Bug 所带来的变...
- OneToOne单向 实体类 映射文件 测试add 添加成功。 上述add: 如果person有对应的卡,再次添加...