基础算法
TIP
基础算法通常考察各种基础数据结构的类型的基本操作,通常可用 字典 map
和 双指针/快慢指针 来计算
数据结构基础使用
- 链表遍历、删除、添加、环形等
- 数组元素移动、删除、栈、队列
- 字符串切割、最长公共前缀
- 树的深度、广度优先遍历、层序遍历、前、中、后序遍历
链表
- 删除链表中节点
- 删除链表的倒数第
N
个节点 - 快慢指针 - 翻转链表 - 双指针 | 递归
- 回文链表 - 快慢指针(快指针先走一半)
- 环形链表 - 快慢指针
数组
- 两数之和 -
map
字典储存 - 删除数组重复项 - 双指针
- 旋转数组 - 切割/翻转
- 移动零 - 双指针
- 二分法查找
- 买卖股票最佳时机2
字符串
- 翻转字符串
- 验证回文串
- 实现
strStr()
- 最长公共前缀
树
- 二叉树最大深度
- 对称二叉树
- 深度优先、广度优先 遍历
- 层序遍历
- 二叉树的前序遍历
- 二叉树的中序遍历
- 二叉树的后序遍历
动态规划
- 爬楼梯
- 买卖股票最佳时机
- 最大子序和
- 打家劫舍
贪心算法
双指针技巧
- 首尾指针
- 快慢指针
- 滑动窗口