20个二叉树面试高频
- 0. 几个概念
- 1. 求二叉树中的节点个数
- 2. 求二叉树的最大层数(最大深度)
- 3. 先序遍历/前序遍历
- 4. 中序遍历
- 5. 后序遍历
- 6. 分层遍历
- 7. 求二叉树第K层的节点个数
- 8. 求二叉树第K层的叶子节点个数
- 9. 判断两棵二叉树是否结构相同
- 10. 判断二叉树是不是平衡二叉树
- 11. 求二叉树的镜像
- 12. 求二叉树中两个节点的最低公共祖先节点
- 13. 求二叉树的直径
- 14. 由前序遍历序列和中序遍历序列重建二叉树
- 15. 判断二叉树是不是完全二叉树
- 16. 树的子结构
- 17. 二叉树中和为某一值的路径
- 18. 二叉树的下一个结点
- 19. 序列化二叉树
- 20. 二叉搜索树的第k个结点
21二叉树
算法刷题LeetCode中文版:二叉树
算法刷题LeetCode中文版:二叉树
17个链表面试高频
- 1. 在 O(1) 时间删除链表节点
- 2. 翻转单链表
- 3. 翻转部分单链表
- 4. 旋转单链表
- 5. 删除单链表倒数第 n 个节点
- 6. 求单链表的中间节点
- 7. 链表划分
- 8. 链表求和
- 9. 单链表排序
- 10. 合并两个排序的链表
- 11. 复杂链表的复制
- 12. 删除链表中重复的结点
- 13. 判断单链表是否存在环
- 14. 单链表是否有环扩展:找到环的入口点
- 15. 判断两个无环单链表是否相交
- 16. 两个链表相交扩展:求两个无环单链表的第一个相交点
- 17. 两个链表相交扩展:判断两个有环单链表是否相交
17链表
算法刷题LeetCode中文版:链表
算法刷题LeetCode中文版:链表
7个堆栈和队列面试高频
- 1.基础概念
- 2.栈的 java 实现
- 3.队列的 java 实现
- 4.用两个栈实现队列
- 5.用队列实现栈
- 6.包含min函数的栈
- 7.栈的压入、弹出序列
7堆栈和队列
算法刷题LeetCode中文版:栈和队列
算法刷题LeetCode中文版:栈和队列
13个字符串面试高频
- 1. KMP 算法
- 2. 替换空格
- 3. 最长公共前缀
- 4. 最长回文串
- 5. 字符串的排列
- 6. 打印字符串的全排列
- 7. 第一个只出现一次的字符
- 8. 翻转单词顺序列
- 9. 旋转字符串
- 10. 把字符串转换成整数
- 11. 正则表达式匹配
- 12. 表示数值的字符串
- 13. 字符流中第一个不重复的字符
13个字符串面试高频答案解析
13字符串
算法刷题LeetCode中文版:字符串
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
[外链图片转存中…(img-FEFY0Oqy-1627622995598)]
搜集费时费力,能看到此处的都是真爱!