记录整理平时所学的一些算法问题。
001: 百钱百鸡问题
002: 借书方案知多少
003: 打鱼还是晒网
004: 抓交通肇事犯
005: 兔子产子问题
006: 最佳存款方案
007: 设计一个有 getMin 功能的栈
008: 由两个栈组成的队列
009: 如何仅用递归函数和栈操作逆序一个栈
010: 猫狗队列
011: 用一个栈实现另一个栈的排序
012: 用栈来求解汉诺塔问题
013: 生成窗口最大值数组
014: 构造数组的 MaxTree
015: 求最大子矩阵的大小
017: 打印两个有序链表的公共部分
018: 在单链表和双链表中删除倒数第 K 个节点
019: 删除链表的中间节点和 a/b 处的节点
020: 反转单向和双向链表
021: 反转部分单向链表
022: 环形单链表的约瑟夫问题
023: 判断一个链表是否为回文结构
024: 将单向链表按某值划分成左边小、中间相等、右边大的形式
025: 复制含有随机指针节点的链表
026: 两个单链表生成相加链表
027: 两个单链表相交的一系列问题
028: 将单链表的每 K 个节点之间逆序
029: 删除无序单链表中值重复出现的节点
030: 在单链表中删除指定值的节点
031: 将搜索二叉树转换成双向链表
032: 单链表的选择排序
033: 一种怪异的节点删除方式
034: 向有序的环形单链表中插入新节点
035: 合并两个有序的单链表
036: 按照左右半区的方式重新组合单链表
037: 分别用递归和非递归方式实现二叉树先序、中序和后序遍历
038: 打印二叉树的边界节点