大纲
在线OJ
本书目录
第1章 栈和队列 1
- 设计一个有getMin功能的栈(士 ★☆☆☆) 1
- 由两个栈组成的队列(尉 ★★☆☆) 5
- 如何仅用递归函数和栈操作逆序一个栈(尉 ★★☆☆) 7
- 猫狗队列(士 ★☆☆☆) 9
- 用一个栈实现另一个栈的排序(士 ★☆☆☆) 12
- 用栈来求解汉诺塔问题(校 ★★★☆) 13
- 生成窗口最大值数组(尉 ★★☆☆) 18
- 单调栈结构(尉 ★★☆☆) 20
- 求最大子矩阵的大小(校 ★★★☆) 26
- 最大值减去最小值小于或等于num的子数组数量(校 ★★★☆) 31
- 可见的山峰对数量(原问题 士 ★☆☆☆ 进阶问题 将 ★★★★) 33
第2章 链表问题 41
- 打印两个有序链表的公共部分(士 ★☆☆☆) 41
- 在单链表和双链表中删除倒数第K个节点(士 ★☆☆☆) 42
- 删除链表的中间节点和a/b处的节点(士 ★☆☆☆) 45
- 反转单向和双向链表(士 ★☆☆☆) 47
- 反转部分单向链表(士 ★☆☆☆) 48
- 环形单链表的约瑟夫问题(原问题 士 ★☆☆☆ 进阶问题 校 ★★★☆) 50
- 判断一个链表是否为回文结构
- (普通解法 士 ★☆☆☆ 进阶解法 尉 ★★☆☆) 55
- 将单向链表按某值划分成左边小、中间相等、右边大的形式(尉 ★★☆☆) 59
- 复制含有随机指针节点的链表(尉 ★★☆☆) 63
- 两个单链表生成相加链表(士 ★☆☆☆) 66
- 两个单链表相交的一系列问题(将 ★★★★) 69
- 将单链表的每K个节点之间逆序(尉 ★★☆☆) 74
- 删除无序单链表中值重复出现的节点(士 ★☆☆☆) 77
- 在单链表中删除指定值的节点(士 ★☆☆☆) 79
- 将搜索二叉树转换成双向链表(尉 ★★☆☆) 81
- 单链表的选择排序(士 ★☆☆☆) 84
- 一种怪异的节点删除方式(士 ★☆☆☆) 86
- 向有序的环形单链表中插入新节点(士 ★☆☆☆) 87
- 合并两个有序的单链表(士 ★☆☆☆) 88
- 按照左右半区的方式重新组合单链表(士 ★☆☆☆) 90
第3章 二叉树问题 93
- 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(校 ★★★☆) 93
- 打印二叉树的边界节点(尉 ★★☆☆) 100
- 如何较为直观地打印二叉树(尉 ★★☆☆) 104
- 二叉树的序列化和反序列化(士 ★☆☆☆) 107
- 遍历二叉树的神级方法(将 ★★★★) 111
- 在二叉树中找到累加和为指定值的最长路径长度(尉 ★★☆☆) 119
- 找到二叉树中的最大搜索二叉子树(尉 ★★☆☆) 121
- 找到二叉树中符合搜索二叉树条件的最大拓扑结构(校 ★★★☆) 124
- 二叉树的按层打印与ZigZag打印(尉 ★★☆☆) 132
- 调整搜索二叉树中两个错误的节点
- (原问题 尉 ★★☆☆ 进阶问题 将 ★★★★) 137
- 判断t1树是否包含t2树全部的拓扑结构(士 ★☆☆☆) 142
- 判断t1树中是否有与t2树拓扑结构完全相同的子树(校 ★★★☆) 144
- 判断二叉树是否为平衡二叉树(士 ★☆☆☆) 146
- 根据后序数组重建搜索二叉树(士 ★☆☆☆) 148
- 判断一棵二叉树是否为搜索二叉树和完全二叉树(士 ★☆☆☆) 150
- 通过有序数组生成平衡搜索二叉树(士 ★☆☆☆) 152
- 在二叉树中找到一个节点的后继节点(尉 ★★☆☆) 153
- 在二叉树中找到两个节点的最近公共祖先
- (原问题 士 ★☆☆☆ 进阶问题 尉 ★★☆☆ 再进阶问题 校 ★★★☆) 155
- Tarjan算法与并查集解决二叉树节点间最近公共祖先的批量查询问题
- (校 ★★★☆) 160
- 二叉树节点间的最大距离问题(尉 ★★☆☆) 168
- 派对的最大快乐值(尉 ★★☆☆) 169
- 通过先序和中序数组生成后序数组(士 ★☆☆☆) 172
- 统计和生成所有不同的二叉树(尉 ★★☆☆) 173
- 统计完全二叉树的节点数(尉 ★★☆☆) 176
本专刊为书中前三章内容,已获得授权~~
程序员代码面试指南 文章被收录于专栏
<p> 本专刊为左程云书《程序员代码面试指南》前三章,已获得官方授权,想看书中更多内容可去购买书籍查看。 同时点击可查看牛客算法笔面试真题精讲班,每周由左老师讲解经典高频校招题目:https://www.nowcoder.com/courses/cover/live/350 本专刊购买后即可解锁所有章节,故不可以退换哦~ </p> <p> <br /> </p>