//剑指Offer
{
1.面试的流程{
1.面试官谈面试
2.面试的三种形式
3.面试的三个环节
}
2.面试需要的基础知识{
1.面试官谈基础知识
2.编程语言{
1.题1:赋值运算符函数
2.题2:实现Singleton模式
}
3.数据结构{
1.数组、题3:二维数组中的查找
2.字符串、题4:替换空格
3.链表、题5:从尾到头打印链表
4.树、题6:重建二叉树
5.栈和队列、题7:用两个栈实现队列、用两个队列实现一个栈
}
4.算法和数据操作{
1.查找和排序、题8:旋转数组的最小数字
2.递归和循环、题9:斐波那契数列
3.位运算、题10:二进制中的1个数
}
}
3.高质量的代码{
1.面试官谈代码质量
2.代码的规范性
3.代码的完整性{
1.题11:数值的整数次方
2.题12:打印1到最大的n位数
3.题13:在O(1)时间删除链表节点
4.题14:调整数组顺序使奇数位于偶数前面
}
4.代码的鲁棒性{
1.题15:链表中倒数第k个节点
2.题16:反转链表
3.题17:合并两个排序的链表
4.题18:树的子结构
}
}
4.解决面试题的思路{
1.面试官谈面试思路{
1.题19:二叉树的镜像
}
2.画图让抽象问题形象化{
1.题20:顺时针打印矩阵
}
3.举例让抽象问题具体化{
1.题21:包含min函数的栈
2.题22:栈的压入、弹出序列
3.题23:从上往下打印二叉树
4.题24:二叉搜索树的后续遍历序列
5.题25:二叉树中和为某一值的路径
}
4.分解让复杂问题简单化{
1.题26:复杂链表的复制
2.题27:二叉搜索树与双向链表
3.题28:字符串的排列
}
}
5.优化时间和空间效率{
1.面试官谈效率
2.时间效率{
1.题29:数组中出现次数超过一半的数字
2.题30:最小的k个数
3.题31:连续子数组的最大和
4.题32:从1到n整数中1出现的次数
5.题33:把数组排成最小的数
}
3.时间效率与空间效率的平衡{
1.题34:丑数
2.题35:第一个出现一次的字符
3.题36:数组中的逆序数
4.题37:两个链表的第一个公共结点
}
}
6.面试中的各项能力{
1.面试官谈能力
2.沟通能力和学习能力
3.知识迁移能力{
1.题38:数字在排序数组中出现的次数
2.题39:二叉树的深度
3.题40:数组中出现一次的数字
4.题41:和为s的两个数字VS和为s的连续正数序列
5.题42:反转单词顺序VS左旋转字符串
}
4.抽象建模能力{
1.题43:n个骰子的点数
2.题44:扑克牌的顺子
3.题45:圆圈中最后剩下的数字
}
5.发散思维能力{
1.题46:求1+2+......+n
2.题47:不用加减乘除做加法
3.题48:不能被继承的类
}
}
7.两个面试案例{
1.题49:把字符串转换成整数
2.题50:树种两个节点的最低公共祖先
}
8.英文新增面试题{
1.数组{
1.题51:数组中重复的数字
2.题52:构建乘积数组
}
2.字符串{
1.题53:正则表达式匹配
2.题54:表示数值的字符串
3.题55:字符流中第一个不重复的字符
}
3.链表{
1.题56:链表中环的入口结点
2.题57:删除链表中重复的结点
}
4.树{
1.题58:二叉树的下一个结点
2.题59:对称的二叉树
3.题60:把二叉树打印成多行
4.题61:按之字形打印二叉树
5.题62:序列化二叉树
6.题63:二叉搜索树的第k个结点
7.题64:数据流中的中位数
}
5.栈和队列{
1.题65:滑动窗口的最大值
}
6.回溯法{
1.题66:矩阵中的路径
2.题67:机器人的运动范围
}
}
}
剑指Offer
最新推荐文章于 2024-07-25 11:27:31 发布