数据结构 leetcode 刷题顺序

1. 算法性能分析

主要 分 时间复杂度 和空间复杂度 两大部分;

自己查询;

2. 数组

  1. 二分查找 lc 704;
  2. 移除元素 lc27;
  3. 有序数组的平方 lc977;
  4. 长度最小的子数组 lc 209;
  5. 螺旋矩阵II lc59;

3. 链表

  1. 移除链表元素 lc203;
  2. 设计链表 lc707;
  3. 反转链表 lc206;
  4. 两两交换链表中的节点 lc24;
  5. 删除链表的倒数第N 个节点 lc19;
  6. 链表相交; 面试题 02.07;
  7. 环形链表II, lc142

4. 哈希表

  1. 有效的字母异位词 lc 242;
  2. 两个数组的交集 lc349;
  3. 快乐数字 lc202;
  4. 两数之和 lc1;
  5. 四数相加 lc454;
  6. 赎金信 lc383;
  7. 三数之和 lc15;
  8. 四数之和 lc18

5. 字符串

  1. 反转字符串 lc344;
  2. 反转字符串II, lc541;
  3. 替换空格, 剑指offer 05;
  4. 翻转字符中的单词, lc151;
  5. 左旋转字符串 剑指offer58;
  6. 实现strStr 函数, lc28;
  7. 重复的 子字符串 lc459;

6. 栈与 队列

  1. 栈实现队列 lc232;
  2. 队列实现栈, lc225;
  3. 有效的括号 lc20;
  4. 删除字符串中所有相邻重复项 lc1047;
  5. 逆波兰表达式求值, lc150;
  6. 滑动窗口最大值 lc239;
  7. 前K个 高频元素 lc347;

7. 二叉树 专题

7.1 深度优先遍历的递归实现方式;

144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历

7.2 深度优先遍历的迭代实现方式;

144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历

7.3 深度优先遍历的迭代方式的统一实现;

144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历

7.4 广度优先遍历(层序遍历);

102.二叉树的层序遍历
107.二叉树的层次遍历II
199.二叉树的右视图
637.二叉树的层平均值
429.N叉树的层序遍历
515.在每个树行中找最大值
116.填充每个节点的下一个右侧节点指针
117.填充每个节点的下一个右侧节点指针II
104.二叉树的最大深度
111.二叉树的最小深度

7.5 反转二叉树;

lc226;

8. 回朔算法

9. 贪心算法

10. 动态规划

猜你喜欢

转载自blog.csdn.net/chumingqian/article/details/124321008