原题链接:https://leetcode.com/problems/min-stack/description/
这道题目就是考察基本的栈概念的吧,没什么难度:
/**
* Created by clearbug on 2018/3/17.
*/
public class MinStack {
private int min;
private int[] elements;
private int count;
/** initialize your data structure here. */
public MinStack() {
min = Integer.MAX_VALUE;
elements = new int[10];
}
public void push(int x) {
if (x < min) {
min = x;
}
if (count == elements.length) {
int[] newElements = new int[2 * elements.length];
System.arraycopy(elements, 0, newElements, 0, elements.length);
elements = newElements;
}
elements[count++] = x;
}
public void pop() {
count--;
min = Integer.MAX_VALUE;
for (int i = 0; i < count; i++) {
if (elements[i] < min) {
min = elements[i];
}
}
}
public int top() {
return elements[count - 1];
}
public int getMin() {
return min;
}
}