大纲

在线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>

全部评论
&amp;
点赞 回复 分享
发布于 2020-04-02 20:30

相关推荐

个人背景:学院二本计科专业&nbsp;大二开始实习个人经历:安克创新&nbsp;、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps:&nbsp;很多人会问我学习路线和经验&nbsp;但是就像我上面说的&nbsp;我的实习过程靠的很多是关键节点的运气&nbsp;技术上面我可能不如很多人&nbsp;&nbsp;所以请大家理性求助和理性参考我的回答&nbsp;附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
再懒也要睡懒觉:大学4年玩的挺爽的哈😅
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务