数据结构基础
数组
链表(单链表、双链表)
树(二叉树、平衡二叉树、堆…)
栈
队列
散列表
图
数据结构你需要掌握这些,当然图的算法会复杂一些可以先跳过
算法
二进制相关
位运算
191. 位1的个数 231. 2 的幂 461. 汉明距离
异或操作
136. 只出现一次的数字 137. 只出现一次的数字 II
与操作
剑指 Offer 64. 求1+2+…+n
这些是考察二进制相关运算、与操作、异或操作
链表
头插法
206. 反转链表
双指针
141. 环形链表 19. 删除链表的倒数第 N 个结点
树
二叉树的遍历(递归非递归)
二叉树的高度
二叉树的所有路径、路径和
栈
20. 有效的括号 225. 用队列实现栈 739. 每日温度
队列
232. 用栈实现队列 239. 滑动窗口最大值
回溯算法
46. 全排列 47. 全排列 II 78. 子集 77. 组合
动态规划
70. 爬楼梯 53. 最大子序和 279. 完全平方数 264. 丑数 II 62. 不同路径 63. 不同路径 II 64. 最小路径和 139. 单词拆分 140. 单词拆分 II 这里面还有一些背包问题 「力扣」第 474 题:一和零(中等); 「力扣」第 494 题:目标和(中等); 416. 分割等和子集 322. 零钱兑换 「力扣」第 518 题:零钱兑换 II(中等);
排序算法(快速选择、分治、堆)
二分查找
34. 在排序数组中查找元素的第一个和最后一个位置 153. 寻找旋转排序数组中的最小值 154. 寻找旋转排序数组中的最小值 II 33. 搜索旋转排序数组 81. 搜索旋转排序数组 II
设计类
146. LRU 缓存机制 208. 实现 Trie (前缀树) 1206. 设计跳表
|