JavaScript DataStructure and Algorithm with TypeScript Questions on LeetCode
- 二叉树
- 二叉树的实现
- 对称二叉树
- 二叉树镜像
一个算法的时间复杂度反映了程序运行从开始到结束所需要的时间。把算法中基本操作重复执行的此处作为算法的时间复杂度。
O(1)
: 常数复杂度O(log n)
: 对数复杂度O(n)
: 线性时间复杂度O(n^2)
: 平方复杂度O(n^3)
: 立方复杂度O(2^n)
: 指数复杂度O(!n)
: 阶乘复杂度
空间复杂度是指运行完一个程序所需内存的大小。利用程序的空间复杂度,可以对程序的运行所需内存有预先估计。
一个程序执行时除了需要存储空间和存储本身所使用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。
-
字符串类
- 字符串翻转
- 二进制子串
- 最长公共前缀
-
数组类
- 手机键盘对应字母组合
- 两数之和
- 整数翻转
- 回文数
- 罗马数字转整数
- 卡牌分组
- 合并链表
- 数组去重
- 有效的括号