pass区
- 03 数组中重复的数字
- 剑指 Offer 05. 替换空格
- 剑指 Offer 58 - II. 左旋转字符串
- 剑指 Offer 06. 从尾到头打印链表
- 剑指 Offer 18. 删除链表的节点
- 剑指 Offer 22. 链表中倒数第k个节点
- 剑指 Offer 25. 合并两个排序的链表
- 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
- 剑指 Offer 58 - I. 翻转单词顺序
- 剑指 Offer 10- I. 斐波那契数列
- 剑指 Offer 10- II. 青蛙跳台阶问题
- 剑指 Offer 17. 打印从1到最大的n位数
- 剑指 Offer 27. 二叉树的镜像
- 剑指 Offer 32 - I. 从上到下打印二叉树
- 剑指 Offer 32 - II. 从上到下打印二叉树 II
- 剑指 Offer 39. 数组中出现次数超过一半的数字
- 剑指 Offer 42. 连续子数组的最大和
- 剑指 Offer 55 - I. 二叉树的深度
- 剑指 Offer 67. 把字符串转换成整数
- 剑指 Offer 31. 栈的压入、弹出序列
- 剑指 Offer 32 - III. 从上到下打印二叉树 III
- 剑指 Offer 12. 矩阵中的路径
- 剑指 Offer 38. 字符串的排列
- 剑指 Offer 33. 二叉搜索树的后序遍历序列
- 剑指 Offer 63. 股票的最大利润
- 剑指 Offer 47. 礼物的最大价值
- 剑指 Offer 48. 最长不含重复字符的子字符串
- LCR 178. 训练计划 VI
- LCR 131. 剪绳子
pass但不是最优区
- 剑指 Offer 04. 二维数组中的查找 leetcode算法题–二维数组中的查找
- 反转链表 leetcode算法题–反转链表★
- 剑指 Offer 09 - 用两个栈实现队列
- 剑指 Offer 52. 两个链表的第一个公共节点 leetcode算法题–两个链表的第一个公共节点
- 剑指 Offer 57. 和为s的两个数字leetcode算法题–和为s的两个数字
- 剑指 Offer 11. 旋转数组的最小数字
- 剑指 Offer 15. 二进制中1的个数
- 剑指 Offer 29. 顺时针打印矩阵
- 剑指 Offer 40. 最小的k个数
- 剑指 Offer 50. 第一个只出现一次的字符
- 剑指 Offer 53 - I. 在排序数组中查找数字 I
- 剑指 Offer 53 - II. 0~n-1中缺失的数字
- 剑指 Offer 54. 二叉搜索树的第k大节点
- 剑指 Offer 55 - II. 平衡二叉树
- 剑指 Offer 57 - II. 和为s的连续正数序列
- 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
- 剑指 Offer 68 - II. 二叉树的最近公共祖先
- 圆圈中最后剩下的数字
- leetcode算法题–复杂链表的复制
- leetcode算法题–队列的最大值
- leetcode算法题–树的子结构
- leetcode算法题–机器人的运动范围
- leetcode算法题–二叉树中和为某一值的路径
- 剑指 Offer 36. 二叉搜索树与双向链表
- leetcode算法题–把数字翻译成字符串
- 剑指 Offer 49. 丑数
- 剑指 Offer 60. n个骰子的点数
- LCR 191. 按规则计算统计结果
错题区
- 剑指 Offer 30. 包含min函数的栈
- 剑指 Offer 28. 对称的二叉树
- 剑指 Offer 65. 不用加减乘除做加法
- leetcode算法题–表示数值的字符串
- 剑指 Offer 07. 重建二叉树
- leetcode算法题–数值的整数次方
- leetcode算法题–把数组排成最小的数
- LCR 177. 撞色搭配
二刷
- 反转链表 leetcode算法题–反转链表★
- 剑指 Offer 52. 两个链表的第一个公共节点 leetcode算法题–两个链表的第一个公共节点
- 剑指 Offer 57. 和为s的两个数字leetcode算法题–和为s的两个数字
- 剑指 Offer 11. 旋转数组的最小数字
- 剑指 Offer 54. 二叉搜索树的第k大节点
- 剑指 Offer 55 - II. 平衡二叉树
- 剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
- 剑指 Offer 68 - II. 二叉树的最近公共祖先
- 剑指 Offer 29. 顺时针打印矩阵
- 圆圈中最后剩下的数字
- leetcode算法题–复杂链表的复制
- leetcode算法题–队列的最大值
- leetcode算法题–机器人的运动范围
- leetcode算法题–二叉树中和为某一值的路径
- 剑指 Offer 36. 二叉搜索树与双向链表
- 剑指 Offer 65. 不用加减乘除做加法
- leetcode算法题–数值的整数次方
- LCR 177. 撞色搭配
三刷
- 反转链表 leetcode算法题–反转链表★
- leetcode算法题–两个链表的第一个公共节点
- 剑指 Offer 55 - II. 平衡二叉树
- 剑指 Offer 68 - II. 二叉树的最近公共祖先
- 圆圈中最后剩下的数字
- leetcode算法题–队列的最大值
- 剑指 Offer 36. 二叉搜索树与双向链表
四刷
指针题目常见变量命名:
- 双指针: fast,slow
- pre, curr, next
- 伪头节点:prehead
字符串题目常用方法:
- strings.Fields(s string) []string
- strings.Join([]string, sep string) string
- string.Split(s, sep string) []string
- strings.Contains(s, substr string) bool
dfs三种常见写法:
- 返回值
- 参数值
- 全局变量 (有时候能节省很多工作量,参考leetcode算法题–二叉树中和为某一值的路径)
字母数字相互转换潜台词:
- 字母只有26个,最多两位数字
计数器可以用循环代替