栈
stack<char> stack;
stack.top();
stack.push(num);
LeetCode 20 有效的括号
LeetCode 71 简化路径(练习)
LeetCode 144 二叉树前序遍历
LeetCode 94 二叉树中序遍历(练习)
LeetCode 145 二叉树后序遍历(练习)
LeetCode 341 扁平化嵌套列表迭代器(练习)
队列
queue<pair<TreeNode,int>> q;
q.push(make_pair(root,0));
TreeNode node = q.front().first;
int level = q.front().second;
LeetCode 102 二叉树的层序遍历
LeetCode 107 二叉树的层序遍历II(练习)
LeetCode 103 二叉树锯齿型层序遍历(练习)
LeetCode 199 二叉树的右视图(练习)
LeetCode 279 完全平方数
LeetCode 127 单词接龙(练习)
LeetCode 126 单词接龙II(练习)
优先队列,底层实现:堆。默认最大堆
最大堆:priority_queue<int> pq;
pq.push(num)
pq.top()
最小堆: priority_queue<int, vector<int>, greater<int>> pq;
自定义比较函数:priority_queue<int, vector<int>, function<bool(int,int)>> pq(myCmp);
bool myCmp(int a , int b){
return a%10 < b%10;
}