1、时间复杂度、空间复杂度
O(1),O(n),O(logn),O(n),O(nLogn),O(n^2),O(2^n),O(n!)
2、递归: 将问题分解为同类的子问题重复调用自身
终止条件
重复循环逻辑
3、爬楼梯(递归、递推)
时间复杂度O(2^n)结合哈希map,存储中间过程,降为O(n)
或者递推,记录上两次的值进而获取最新结果
4、合并两个有序数组
LeetCode刷题
双指针、递归 70 - 10 - 1 - 88 - 283 - 448
链表:21 - 83 - 141 - 142 - 160 - 206 - 234 - 876
剑指offer22: 链表中倒数第k个节点
栈和队列:
232 用栈实现队列
394 字符串解码
树:
二叉树的相关概念
中序、前序、后续遍历94-144-145
对称二叉树101
翻转二叉树226
十大排序算法:
冒泡、选择、插入、快速、希尔、归并、堆、桶排序
二分查找
动态规划
字符串搜索
贪心算法