剑指 Offer 06. 从尾到头打印链表&&&&&《剑指 Offer》书中官方题解:非递归方式、递归方式及简化写法;循序渐进
剑指 Offer 07. 重建二叉树&&&&&图解:关键点通过前序和中序知道根节点在中序遍历中的位置及左子树的个数,递归即可解决
剑指 Offer 09. 用两个栈实现队列&&&&&两个栈,进队列从 a 栈中进,出队列从 b 栈中出(如果 b 栈中没有了则一次性从 a 栈中都倒腾到 b 栈中再出)
剑指 Offer 23. 链表中环的入口节点&&&&&图解快慢指针技巧原理:在寻找入环节点的基础上,将任一节点指向头节点再重新同步前进,相遇即为入口点;
剑指 Offer 30. 包含 min 函数的栈&&&&&两种思路来实现包含 min 函数的栈,个人感觉思路 2 更节省空间
剑指 Offer 32 - I. 从上到下打印二叉树&&&&&BFS 通用套路解决从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印
剑指 Offer 50. 第一个只出现一次的字符&&&&&非常简单,必须秒懂:用数组 26 位长度来分别存出现的字母的次数
剑指 Offer 53 - II. 0 ~ n-1 中缺失的数字&&&&&运用等差数列求和只需要 4 行代码就可以搞定,必须秒懂
剑指 Offer 56 - I. 数组中数字出现的次数&&&&&javascript 版本的官方题解:使用位运算,思路简单,注释详细
剑指 Offer 56 - II. 数组中数字出现的次数 II&&&&&利用位运算;思路清晰易懂,代码注释详细,必须秒懂
剑指 Offer II 003. 前 n 个数字二进制中 1 的个数&&&&&《剑指 Offer 专项突破版》书中官方题解:三种解题思路;通俗易懂;循序渐进;知识点很多建议反复看
剑指 Offer II 004. 只出现一次的数字 &&&&&《剑指 Offer 专项突破版》书中官方题解:利用位运算;思路清晰易懂
剑指 Offer II 011. 0 和 1 个数相同的子数组&&&&&把数组中所有的 0 都替换成-1,就可以使用前缀和思路了
剑指 Offer II 015. 字符串中的所有变位词&&&&&滑动窗口都是同一套路,细节点在于知晓我右移窗口需要改动哪些状态,左移窗口需要改变哪些
剑指 Offer II 019. 最多删除一个字符得到回文&&&&&《剑指 Offer 专项突破版》书中官方题解:双指针法
剑指 Offer II 020. 回文子字符串的个数&&&&&《剑指 Offer 专项突破版》书中官方题解:双指针法,思路清晰
剑指 Offer II 021. 删除链表的倒数第 n 个结点&&&&&快慢指针拿到倒数第 n 个链表节点再删除,两种实现
剑指 Offer II 022. 链表中环的入口节点&&&&&图解快慢指针技巧原理:在寻找入环节点的基础上,将任一节点指向头节点再重新同步前进,相遇即为入口点;
剑指 Offer II 023. 两个链表的第一个重合节点&&&&&图解双指针:5 行代码搞定,不需要额外的空间复杂度,时间复杂度也是 O(n)的双指针法
剑指 Offer II 025. 链表中的两数相加&&&&&《剑指 Offer 专项突破版》书中官方题解:图解,思路清晰
剑指 Offer II 028. 展平多级双向链表&&&&&《剑指 Offer 专项突破版》书中官方题解:代码中的注释简单明了,一看便知
剑指 Offer II 030. 插入、删除和随机访问都是 O(1) 的容器&&&&&结合哈希表和数组的特性来设计这个数据容器
剑指 Offer II 034. 外星语言是否排序&&&&&《剑指 Offer 专项突破版》书中官方题解:代码中注释清晰明了
剑指 Offer II 036. 后缀表达式&&&&&《剑指 Offer 专项突破版》书中官方题解:使用栈,思路清晰,代码中细节点注释已指出
剑指 Offer II 037. 小行星碰撞&&&&&《剑指 Offer 专项突破版》书中官方题解:图解单调栈,思路清晰,代码简洁
剑指 Offer II 043. 往完全二叉树添加节点&&&&&效率优化的方式:队列中只存需要插入节点的元素;同一思路两种实现;
剑指 Offer II 045. 二叉树最底层最左边的值&&&&&图解:深度优先搜索 DFS 和广度优先搜索 2 种思路;注释通俗易懂
剑指 Offer II 046. 二叉树的右侧视图&&&&&广度优先搜索:双队列,在新一层的时机把节点加入结果集;思路清晰
剑指 Offer II 053. 二叉搜索树中的中序后继&&&&&2 种解题思路:等差数列求和和二分查找,代码注释详细,思路简洁
剑指 Offer II 068. 查找插入位置&&&&&本质上还是利用二分法查找左边界:二分法细节是魔鬼,代码中注释详细
剑指 Offer II 069. 山峰数组的顶部&&&&&解题的套路就是不管是全部有序,还是部分有序,用二分法就对了;思路清晰易懂
剑指 Offer II 070. 排序数组中只出现一次的数字&&&&&利用二分搜索(两个分一组)查找第一个两个数字不一样的组:思路很详细
剑指 Offer II 076. 数组中的第 k 大的数字&&&&&利用快速排序的 partition 分区来寻找数组第 k 大的数字
剑指 Offer II 081. 允许重复选择元素的组合&&&&&通过回溯算法的通用解题套路来解决组合总和:代码注释详细