剑指offer


数组


数组中重复的数字
二维数组中的查找
构建乘积数组

字符串


替换空格
字符流中第一个不重复的字符

递归和循环


斐波那契数列
跳台阶
变态跳台阶
矩形覆盖

链表


从尾到头打印链表
删除链表中重复的结点
链表中环的入口结点


把二叉树打印成多行
按之字形顺序打印二叉树
对称的二叉树

代码的完整性


数值的整数次方

知识迁移能力


二叉树的深度
平衡二叉树

发散思维能力


不用加减乘除做加法
求1+2+3+...+n

栈和队列


用两个栈实现队列

位运算


二进制中1的个数

时间效率


连续子数组的最大和
整数中1出现的次数

时间空间效率的平衡


两个链表的第一个公共结点

举例让抽象具体化


包含min函数的栈

查找和排序


旋转数组的最小数字

综合


把字符串转换成整数

面试思路


二叉树的镜像