Data Structure and Algorithms Guidebook
数据结构
算法
LeetCode
前端编程
扩展
Github
Data Structure and Algorithms Guidebook
数据结构与算法完全知识体系
数据结构
算法
LeetCode
前端编程
扩展
Github
数组
1 - 两数之和
15 - 三数之和
26 - 删除排序数组中的重复项
27 - 移除元素
33 - 搜索旋转排序数组
35 - 搜索插入位置
42 - 接雨水
56 - 合并区间
81 - 搜索旋转排序数组 II
88 - 合并两个有序数组
128 - 最长连续序列
169 - 多数元素
179 - 最大数
217 - 存在重复元素
219 - 存在重复元素 II
220 - 存在重复元素 III
268 - 缺失数字
283 - 移动零
287 - 寻找重复数
349 - 两个数组的交集
384 - 打乱数组
407 - 接雨水 II
509 - 斐波那契数列
547 - 朋友圈
674 - 最长连续递增序列
695 - 岛屿的最大面积
724 - 寻找数组的中心索引
867 - 转置矩阵
905 - 按奇偶排序数组
1002 - 查找常用字符串
1295 - 统计位数为偶数的数字
面试题 01.01 - 判断字符是否唯一
面试题 01.02 - 判定是否互为字符重排
字符串
3 - 无重复字符的最长子串
5 - 最长回文子串
8 - 字符串转换整数
9 - 回文数
14 - 最长公共前缀
28 - 实现 strStr()
43 - 字符串相乘
58 - 最后一个单词的长度
71 - 简化路径
125 - 验证回文串
151 - 翻转字符串里的单词
165 - 比较版本号
211 - 添加与搜索单词 - 数据结构设计
242 - 有效的字母异位词
344 - 反转字符串
387 - 字符串中的第一个唯一字符
415 - 字符串相加
415 - 字符串中的单词数
459 - 重复的子字符串
468 - 验证 IP 地址
680 - 验证回文字符串 II
709 - 转换成小写字母
859 - 亲密字符串
917 - 仅仅反转字母
925 - 长按键入
1108 - IP 地址无效化
1370 - 上升下降字符串
1576 - 替换所有的问号
1616 - 分割两个字符串得到回文串
5535 - 替换所有的问号
5543 - 两个相同字符之间的最长子字符串
剑指 3 - 数组中重复的数字
剑指 5 - 替换空格
剑指 38 - 字符串的排列
剑指 50 - 第一只出现一次的字符
剑指 58 - 反转单词顺序
剑指 58 - 左旋转字符串
链表
2 - 两数相加
11 - 盛最多水的容器
19 - 删除链表的倒数第 N 个节点
21 - 合并两个有序链表
23 - 合并 K 个升序链表
25 - 合并两个排序的链表
141 - 环形链表
142 - 环形链表 II
148 - 排序链表
160 - 相交链表
206 - 反转链表
234 - 回文链表
328 - 奇偶链表
876 - 链表的中间结点
912 - 排序数组
剑指 6 - 从尾到头打印链表
剑指 22 - 链表中倒数第 k 个节点
剑指 24 - 反转链表
剑指 25 - 合并两个排序的链表
栈和队列
20 - 有效的括号
150 - 逆波兰表达式求值
155 - 最小栈
622 - 设计循环队列
739 - 每日温度
二叉树
96 - 不同的二叉搜索树
98 - 验证二叉搜索树
1361 - 验证二叉树
剑指 68 - 二叉树的最近公共祖先
深度优先和广度优先
200 - 岛屿数量
贪心算法
455 - 分发饼干
回溯算法
17 - 电话号码的字母组合
93 - 复原 IP 地址
面试题 08.12 - 八皇后
动态规划
53 - 最大子序和
55 - 跳跃游戏
62 - 不同路径
63 - 不同路径 II
64 - 最小路径和
70 - 爬楼梯
121 - 买卖股票的最佳时机
122 - 买卖股票的最佳时机 II
123 - 买卖股票的最佳时机 III
198 - 打家劫舍
198 - 打家劫舍
221 - 最大正方形
300 - 最长递增子序列
322 - 零钱兑换
416 - 分割等和子集
474 - 一和零
494 - 目标和
509 - 斐波那契数
518 - 零钱兑换 II
980 - 不同路径 III
1143 - 最长公共子序列
数学
60 - 第 K 个排列
233 - 数字 1 的个数
剑指 II 4 - 只出现一次的数字
Integer
Offer
存在重复元素 III