学习数据结构和算法有一段时间了,越来越觉得刷题不一定要很多,真正地弄懂一道题或者一种类型的问题很重要。AC只是开始,要学会分析复杂度,什么情况时间最优,什么情况空间最优,怎么用图表和数学公式给出证明,代码命名是否规范,排版是否简洁大方。
所以有了写一整套解题思路的想法,每道题都尝试多种解法
目录:
- 剑指offer-面试题2:实现单例模式
- 剑指offer-面试题3:数组中重复的数字
- 剑指offer-面试题4:二维数组中的查找
- 剑指offer-面试题5:替换空格
- 剑指offer-面试题6:从尾到头打印链表
- 剑指offer-面试题7:重建二叉树
- 剑指offer-面试题8:二叉树的下一个节点
- 剑指offer-面试题9:用两个栈实现队列
- 剑指offer-面试题10:斐波那契数列
- 剑指offer-面试题11:旋转数组的最小数字
- 剑指offer-面试题12:矩阵中的路径
- 剑指offer-面试题13:机器人的运动范围
- 剑指offer-面试题14:剪绳子
- 剑指offer-面试题15:二进制中1的个数
- 剑指offer-面试题16:数值的整数次方
- 剑指offer-面试题17:打印从1到最大的n位数
- 剑指offer-面试题18:删除链表的节点
- 剑指offer-面试题19:正则表达式匹配
- 剑指offer-面试题20:表示数值的字符串
- 剑指offer-面试题21:调整数组顺序使奇数位于偶数前面
- 剑指offer-面试题22:链表中倒数第k个节点
- 剑指offer-面试题23:链表中环的入口节点
- 剑指offer-面试题24:反转链表
- 剑指offer-面试题25:合并两个排序的链表
- 剑指offer-面试题26:树的子结构
- 剑指offer-面试题27:二叉树的镜像
- 剑指offer-面试题28:对称的二叉树
- 剑指offer-面试题29:顺时针打印矩阵
- 剑指offer-面试题30:包含min函数的栈
- 剑指offer-面试题31:栈的压入、弹出序列
- 剑指offer-面试题32:从上到下打印二叉树
- 剑指offer-面试题33:二叉树的后序搜索遍历
- 剑指offer-面试题34:二叉树中和为某一值的路径
- 剑指offer-面试题35:复杂链表的复制
- 剑指offer-面试题36:二叉树与双向链表
- 剑指offer-面试题37:序列化二叉树
- 剑指offer-面试题38:字符串的排列
- 剑指offer-面试题39:数组中出现次数超过一半的数字
- 剑指offer-面试题40:最小的k个数
- 剑指offer-面试题41:数据流中的中位数
- 剑指offer-面试题42:连续子数组的最大和
- 剑指offer-面试题43:1到n整数中1出现的次数
- 剑指offer-面试题44:数字序列中某一位的数字
- 剑指offer-面试题45:把数组排成最小的数
- 剑指offer-面试题46:把数字翻译成字符串
- 剑指offer-面试题47:礼物的最大价值
- 剑指offer-面试题48:最长不含重复字符的子字符串
- 剑指offer-面试题49:丑数
- 剑指offer-面试题50:第一个只出现一次的字符
- 剑指offer-面试题51:数组中的逆序对
- 剑指offer-面试题52:两个链表的第一个公共节点
- 剑指offer-面试题53-I:在排序数组中查找数字
- 剑指offer-面试题53-II:0~n-1中缺失的数字
- 剑指offer-面试题54:二叉搜索树的第k大节点
- 剑指offer-面试题55-I:二叉树的深度
- 剑指offer-面试题55-II:平衡二叉树
- 剑指offer-面试题56-I:数组中数字出现的次数
- 剑指offer-面试题56-II:数组中数字出现的次数
- 剑指offer-面试题57-I:和为s的数字
- 剑指offer-面试题57-II:和为s的连续正数序列
- 剑指offer-面试题58-I:翻转单词顺序
- 剑指offer-面试题58-II:左旋转字符串
- 剑指offer-面试题59-I:滑动窗口的最大值
- 剑指offer-面试题59-II:队列的最大值
- 剑指offer-面试题60:n个骰子的点数
- 剑指offer-面试题61:扑克牌中的顺子
- 剑指offer-面试题62:圆圈中最后剩下的数字
- 剑指offer-面试题63:股票的最大利润
- 剑指offer-面试题64:求1+2+……+n
- 剑指offer-面试题65:不用加减乘除做加法
- 剑指offer-面试题66:构建乘积数组
- 剑指offer-面试题67:把字符串转换成整数
- 剑指offer-面试题68-I:二叉搜索树的最近公共祖先
- 剑指offer-面试题68-II:二叉树的最近公共祖先