链表
从尾到头打印链表
链表中倒数第k个结点
双指针
反转链表
3 2 反 1 2
合并两个排序的链表
bing(){
if(1<2){
1 = bing(1->next,2);
}
}
复杂链表的复制
两个链表的第一个公共结点
链表中环的入口结点
删除链表中重复的结点
两数之和
unordered_map<int,int> hashmap
上台阶
F(n) = F(n-1) + F(n-2)
重建二叉树
1 2 3
2 1 3
2 3 1
root root->left; root->right; 前序、后序表明父子关系 中序表明左右关系 前序+中序 后序加前序 可确定唯一二叉树 前序+后序 不唯一
1 247 3568
742 5863 1
}
栈
用两个栈实现队列
思路:使用两个栈:入队列进入stack1,出队列Stack 2出。stack2空,则stack1出栈入Stack2;
包含min函数的栈
思路,使用两个栈:一个数据栈存数据,另一个辅助栈存最小值。
栈的压入、弹出序列
思路:每次压入,使用while循环看看是否能弹出。