Skip to content

zhouwenchen/leetcode

Repository files navigation

leetcode

20200811

项目结构

  • leetcode-comm 公共类

练习题


1:链表

206. 反转链表
141. 环形链表
21. 合并两个有序链表
19. 删除链表的倒数第N个节点
876. 链表的中间结点

快慢指针 (TODO)

第 19 题: 倒数第 k 个结点
第 141 题:环形链表
第 142 题:环形链表 II
第 161 题:相交链表
第 206 题:反转链表
第 24 题:两两交换链表中的节点;
第 25 题:K 个一组翻转链表;
第 328 题:奇偶链表;
第 203 题:移除链表元素;
第 21 题:合并两个有序链表
第 2 题:两数相加
第 82 题:删除排序链表中的重复元素 II
第 148 题:排序链表


2:栈

20. 有效的括号
155. 最小栈
232. 用栈实现队列
844. 比较含退格的字符串
224. 基本计算器(TODO)
682. 棒球比赛(TODO)
496. 下一个更大元素 I(TODO)


3:队列

用数组实现一个顺序队列
用链表实现一个链式队列
实现一个循环队列

4:排序算法

冒泡排序
插入排序
选择排序
归并排序
快速排序

线性排序(TODO)

桶排序
计数排序
基数排序

5:查找

二分查找

二分查找的变种题型:

  • 查找第一个值等于给定值的元素
  • 查找最后一个值等于给定值的元素
  • 查找第一个大于等于给定值的元素
  • 查找最后一个小于等于给定值的元素

6:二叉树的遍历

二叉树前序遍历
二叉树中序遍历
二叉树后序遍历
二叉树层序遍历
二叉树深度遍历(todo)
红黑树(todo)
二叉树的最小深度

7:堆排序

堆插入操作
堆删除操作
堆建堆操作
堆排序操作

8:字符串匹配

RK 算法
BF 算法
KMP 算法(todo)
BM 算法(todo)

9: Trie 树的操作

插入操作
删除操作

贪心算法

分糖果
LCP 06. 拿硬币

动态规划

0-1背包的问题

布隆过滤器的实现(todo)

优先级队列

  1. 数组中的第K个最大元素
  2. 吃苹果的最大数目
  3. 滑动窗口最大值
  4. 卡车上的最大单元数

听说是心得:很不错的idea

  • 第一遍,看题目,想解法,如果十几分分想不出来直接看题解,看看别人的解法,最好能够默写出来
  • 第二遍,自己尝试写出
  • 第三遍,隔几天后再次写一下,体会+上自己的优化
  • 第四遍,一周过去后,再来一一遍
  • 第五遍,复习,例如面试前

About

数据结构和算法

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages