1、数据结构与算法理论和 leetcode 题目分类思维导图;
2、Java 代码基于 JDK8 实现;
1、数组理论
2、经典题目(leetcode)
- 1.两数之和
- 8.字符串转换整数 (atoi
- 11.盛最多水的容器
- 15.三数之和
- 16.最接近的三数之和
- 18.四数之和
- 26.删除有序数组中的重复项
- 27.移除元素
- 34.在排序数组中查找元素的第一个和最后一个位置
- 42.接雨水
- 59. 螺旋矩阵 II
- 78.子集
- 79.单词搜索
- 209.长度最小的子数组
- 977.有序数组的平方
1、链表理论
2、经典题目(leetcode)
- 2.两数相加
- 19.删除链表的倒数第 N 个结点
- 21.合并两个有序链表
- 23.合并K个升序链表
- 24.两两交换链表中的结点
- 83.删除排序链表中的重复元素
- 141.环形链表
- 142.环形链表 II
- 148.排序链表
- 203.移除链表元素
- 206.反转链表
- 234.回文链表
- 707.设计链表
- 876.链表的中间结点
1、栈理论
2、经典题目(leetcode)
1、队列理论
2、经典题目(leetcode)
1、字符串理论
2、经典题目(leetcode)
- 3.无重复字符的最长子串
- 14.最长公共前缀
- 28.实现 strStr()
- 30.串联所有单词的子串
- 76.最小覆盖子串
- 151.翻转字符串里的单词
- 126.单词接龙 II
- 344.反转字符串
- 389.找不同
- 459.重复的子字符串
- 468.验证IP地址
- 541.反转字符串 II
1、哈希表理论
2、经典题目(leetcode)
1、图理论
2、经典题目(leetcode)
1、跳表理论
2、经典题目(leetcode)
1、树理论
2、经典题目(leetcode)
- 94.二叉树的中序遍历
- 101.对称二叉树
- 102.二叉树的层序遍历
- 104.二叉树的最大深度
- 106.从中序与后序遍历序列构造二叉树
- 111.二叉树的最小深度
- 112.路径总和
- 144.二叉树的前序遍历
- 145.二叉树的后序遍历
- 257.二叉树的所有路径
- 404.左叶子之和
- 450.删除二叉搜索树中的结点
- 513.找树左下角的值
- 530.二叉搜索树的最小绝对差
- 617.合并二叉树
- 654.最大二叉树
1、堆理论
2、经典题目(leetcode)
1、并查集理论
2、经典题目(leetcode)
1、线段树理论
2、经典题目(leetcode)
1、树状数组理论
2、经典题目(leetcode)
1、字典树理论
2、经典题目(leetcode)
1、排序理论
2、经典题目(leetcode)
1、递归理论
2、经典题目(leetcode)
1、尾递归理论
2、经典题目(leetcode)
1、二分查找理论
2、经典题目(leetcode)
- 34.在排序数组中查找元素的第一个和最后一个位置
- 69.x 的平方根
- 162.寻找峰值
- 165.比较版本号
- 209.长度最小的子数组
- 287.寻找重复数
- 349.两个数组的交集
- 704.二分查找
- 852.山脉数组的峰顶索引
- 1351.统计有序矩阵中的负数
1、哈希算法理论
2、经典题目(leetcode)
1、字符串匹配理论
2、经典题目(leetcode)
1、深度优先搜索理论
2、经典题目(leetcode)
- 94.二叉树的中序遍历
- 101.对称二叉树
- 102.二叉树的层序遍历
- 104.二叉树的最大深度
- 106.从中序与后序遍历序列构造二叉树
- 111.二叉树的最小深度
- 112.路径总和
- 144.二叉树的前序遍历
- 145.二叉树的后序遍历
- 257.二叉树的所有路径
1、广度优先搜索理论
2、经典题目(leetcode)
1、贪心理论
2、经典题目(leetcode)
1、分治算法理论
2、经典题目(leetcode)
1、回溯算法理论
2、经典题目(leetcode)
1、动态规划理论
2、经典题目(leetcode)
1、设计理论
2、经典题目(leetcode)
1、数论理论
2、经典题目(leetcode)
1、数学理论
2、经典题目(leetcode)
1、概率与统计理论
2、经典题目(leetcode)
1、双指针理论
2、经典题目(leetcode)
- 11.盛最多水的容器
- 15.三数之和
- 16.最接近的三数之和
- 18.四数之和
- 19.删除链表的倒数第 N 个结点
- 26.删除有序数组中的重复项
- 27.移除元素
- 141.环形链表
- 142.环形链表 II
- 151.翻转字符串里的单词
- 206.反转链表
- 209.长度最小的子数组
- 344.反转字符串
1、模拟理论
2、经典题目(leetcode)
1、滑动窗口理论
2、经典题目(leetcode)
1、位运算理论
2、经典题目(leetcode)
1、前缀和理论
2、经典题目(leetcode)
1、计数理论
2、经典题目(leetcode)
1、状态压缩理论
2、经典题目(leetcode)
1、哈希函数理论
2、经典题目(leetcode)
1、滚动哈希理论
2、经典题目(leetcode)
1、扫描线理论
2、经典题目(leetcode)
1、单调栈理论
2、经典题目(leetcode)
1、单调栈理论
2、经典题目(leetcode)
经典题目(leetcode)