总结了一下在刷LeetCode过程中碰到的一些常用数据结构,用Java进行定义
1. 栈
Deque<Integer> stack = new ArrayDeque<Integer>();
2. 队列
Queue<Integer> queue = new LinkedList<Integer>();
3. 小顶堆
PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
4. 大顶堆
PriorityQueue<Integer> pq = new PriorityQueue<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer a, Integer b){
return b - a; //大顶堆:参数2-参数1;小顶堆:参数1-参数2
}
});
5. Map
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
6. 数组
List<Integer> list = new ArrayList<Integer>();
7. 哈希set
Set<Integer> set = new HashSet<Integer>();