You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.5 KiB
1.5 KiB
栈相关
09. 用两个栈实现队列
class CQueue {
Stack<Integer> putStack, takeStack;
public CQueue() {
putStack = new Stack<>();
takeStack = new Stack<>();
}
public void appendTail(int value) {
putStack.push(value);
}
public int deleteHead() {
if (takeStack.isEmpty()) {
while (!putStack.isEmpty()) {
takeStack.push(putStack.pop());
}
}
if (takeStack.isEmpty()) {
return -1;
} else {
return takeStack.pop();
}
}
}
30. 包含min函数的栈
class MinStack {
private Node head;
public MinStack() {
}
public void push(int x) {
if (head == null) {
head = new Node(x, x, null);
} else {
Node next = head;
head = new Node(x, Math.min(x, next.min), next);
}
}
public void pop() {
head = head.next;
}
public int top() {
return head.val;
}
public int min() {
return head.min;
}
class Node {
public int val;
public int min;
public Node next;
public Node(int val, int min, Node next) {
this.val = val;
this.min = min;
this.next = next;
}
}
}