《剑指Offer》Java实现-包含min函数的栈

《剑指Offer》Java实现-包含min函数的栈,第1张

《剑指Offer》Java实现-包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。
题解:(截图源自《剑指offer》一书)



注意:
1、区分push的情况:向空栈push时应使min直接等于push的值;向非空栈push时应将push的值与min进行比较。
2、区分pop的情况:当pop后栈不为空时,我们应更新min为辅助栈的top值。

public class MinStack {
	private StackStack1;
	private StackStack2;
	int min=0;
    
    public MinStack() {
    	Stack1=new Stack();
    	Stack2=new Stack();
    }
    
    public void push(int x) {
    	if(Stack1.empty())
    		min=x;
    	else{
    		if(x					
										


					

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4748416.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存