剑指offer—11.8—Stack栈
1 栈的定义
“栈”通常是指“后进先出”(LIFO)的容器,也被称为叠加栈,因为最后“压入”站点元素,第一个“弹出”栈。 LinkedList
具有能够直接实现栈的所有功能的方法,因此可以直接将LinkedList
作为栈使用。
2 栈的API
package net.mindview.util;
import java.util.LinkedList;
public class Stack<T>{
private LinkedList<T> storage = new LinkedList<T>();
public void push(T v) {
storage.addFirst(v);
}
public T peek() {
return storage.getFirst();
//只返回栈顶元素
}
public T pop() {
return storage.removeFirst();
//移除并返回栈顶元素
}
public boolean empty() {
return storage.isEmpty();
}
public String toString() {
return storage.toString();
}
}