栈和队列部分(10)
-
设计一个有getMin功能的栈(士★☆☆☆)
-
由两个栈组成的队列(尉★★☆☆)
-
如何仅用递归函数和栈操作逆序一个栈(尉★★☆☆)
-
猫狗队列(士★☆☆☆)
-
用一个栈实现另一个栈的排序(士★☆☆☆)
-
用栈来求解汉诺塔问题(校★★★☆)
-
生成窗口最大值数组(尉★★☆☆)
-
构造数组的MaxTree(校★★★☆)
-
求最大子矩阵的大小(校★★★☆)
-
最大值减去最小值小于或等于num的子数组数量(校★★★☆)
链表问题(20)
-
打印两个有序链表的公共部分(士★☆☆☆)
-
在单链表和双链表中删除倒数第K 个节点(士★☆☆☆)
-
删除链表的中间节点和a/b 处的节点(士★☆☆☆)
-
反转单向和双向链表(士★☆☆☆)
-
反转部分单向链表(士★☆☆☆)
-
环形单链表的约瑟夫问题(原问题:士★☆☆☆进阶:校★★★☆)
-
判断一个链表是否为回文结构(普通解法士★☆☆☆)(进阶解法尉★★☆☆)
-
将单向链表按某值划分成左边小、中间相等、右边大的形式(尉★★☆☆)
-
复制含有随机指针节点的链表(尉★★☆☆)
-
两个单链表生成相加链表(士★☆☆☆)
-
两个单链表相交的一系列问题(将★★★★)
-
将单链表的每K个节点之间逆序(尉★★☆☆)
-
删除无序单链表中值重复出现的节点(士★☆☆☆)
-
在单链表中删除指定值的节点(士★☆☆☆)
-
将搜索二叉树转换成双向链表(尉★★☆☆)
-
单链表的选择排序(士★☆☆☆)
-
一种怪异的节点删除方式(士★☆☆☆)
-
向有序的环形单链表中插入新节点(士★☆☆☆)
-
合并两个有序的单链表(士★☆☆☆)
-
按照左右半区的方式重新组合单链表(士★☆☆☆)
二叉树问题(24)
-
分别用递归和非递归方式实现二叉树先序、中序和后序遍历(校★★★☆)
-
打印二叉树的边界节点(尉★★☆☆)
-
如何较为直观地打印二叉树(尉★★☆☆)
-
二叉树的序列化和反序列化(士★☆☆☆)
-
遍历二叉树的神级方法(将★★★★)
-
在二叉树中找到累加和为指定值的最长路径长度(尉★★☆☆)
-
找到二叉树中的最大搜索二叉子树(尉★★☆☆)
-
找到二叉树中符合搜索二叉树条件的最大拓扑结构(校★★★☆)
-
二叉树的按层打印与ZigZag打印(尉★★☆☆)
-
调整搜索二叉树中两个错误的节点(原问题:尉★★☆☆)(进阶问题:将★★★★)
-
判断t1 树是否包含t2 树全部的拓扑结构(士★☆☆☆)
-
判断t1 树中是否有与t2 树拓