前言

这篇博客主要是我刷 leetcode 的记录,每刷一道题就记录做题时间、_解题方法_、_对应链接_。因为刚开始刷题,没多少经验,可能一开始会使用最简单的方法(暴力解法等),随着经验丰富后就可以再返回来优化之前做的题,通过记录可以更方便地提升自己,加油!!

448.找到所有数组中消失的数字

448. 找到所有数组中消失的数字 - 力扣(LeetCode)

  • 2022/10/28 暴力解法

283.移动零

283. 移动零 - 力扣(LeetCode)

  • 2022/10/28 双指针(交换法 & 覆盖法)

121.买卖股票的最佳时机

121. 买卖股票的最佳时机 - 力扣(LeetCode)

  • 2022/10/28 暴力解法 写出来跟官方的暴力解法一模一样,但是运行会**超出时间限制**,应该是官方换过数据集了,但题解没更新
  • 2022/10/28 一次遍历(看了官方的解法二思路,再自己敲的)

704.二分查找

704. 二分查找 - 力扣(LeetCode)

  • 2022/10/29 二分法 (左闭右闭,左闭右开)

27.移除元素

27. 移除元素 - 力扣(LeetCode)

  • 2022/10/29 暴力解法
  • 2022/10/29 快慢指针

977.有序数组的平方

977. 有序数组的平方 - 力扣(LeetCode)

  • 2022/10/29 双指针

209. 长度最小的子数组

209. 长度最小的子数组

  • 2022/10/30 滑动窗口

59.螺旋矩阵 2⃣️

59. 螺旋矩阵 II

  • 2022/10/30 模拟过程

203.移除链表元素

203. 移除链表元素

  • 2022/10/30 虚拟头结点

707.设计链表

707. 设计链表

  • 2022/10/31 手撕

19.删除链表的倒数第 N 个结点

19. 删除链表的倒数第 N 个结点

  • 2022/11/02 快慢指针

24.两两交换链表中的节点

24. 两两交换链表中的节点

  • 2022/11/02 虚拟头结点+两个临时指针

206.反转链表

206. 反转链表

  • 2022/11/02 双指针
  • 2022/11/02 递归(双指针的基础上做的)

160.链表相交

160.链表相交

  • 2022/11/02 双链表同一起点后再比较

142. 环形链表 II

142.环形链表二

  • 2022/11/03 快慢指针相遇

242. 有效的字母异位词

242.有效的字母异位词

  • 2022/11/03 数组作为哈希表

349.两个数组的交集

349.两个数组的交集

  • 2022/11/04 使用 set 解决

202.快乐数

202.快乐数

  • 2022/11/04 使用 set 解决

1. 两数之和

1.两数之和

  • 2022/11/04 使用 Map 来解决

383.赎金信

383.赎金信

  • 2022/11/05 使用数组当哈希表来解决

454.四数相加 2⃣️

454.四数相加 2⃣️

  • 2022/11/05 使用 map 当哈希表来解决

541.反转字符串 2⃣️

541.反转字符串 2⃣️

  • 2022/11/12 使用双指针解决

344.反转字符串

344.反转字符串

  • 2022/11/12 使用双指针解决

剑指 offer 05.替换空格

剑指 offer05.替换空格

  • 2022/11/12 使用双指针解决

151.反转字符串中的单词

151.反转字符串中的单词

  • 2022/11/18 使用双指针解决

剑指 offer 58 - 2⃣️。.左旋转字符串

剑指 offer 58 - 2⃣️。.左旋转字符串

  • 2022/11/19 反复旋转字符串,然后使用双指针实现旋转reverse()方法解决

28.找出字符串中第一个匹配项的下标

28.找出字符串中第一个匹配项的下标

  • 2022/11/20 kmp 算法

459. 重复的子字符串

459. 重复的子字符串

  • 2022/11/20 kmp 算法

232. 用栈实现队列

232. 用栈实现队列

  • 2022/11/20 用栈实现队列(栈就相当于用数组来实现)

225. 用队列实现栈

225. 用队列实现栈

  • 2022/11/20 用队列实现栈(用数组的push()shift()库函数实现)

20. 有效的括号

20. 有效的括号

  • 2022/11/24 用栈模拟过程实现

1047. 删除字符串中的所有相邻重复项

1047.删除字符串中的所有相邻重复项

  • 2022/11/24 用栈模拟实现过程,跟第 20 题类似的思路

239. 滑动窗口最大值

239.滑动窗口最大值

  • 2022/12/14 单调队列的应用

144. 二叉树的前序遍历

144.二叉树的前序遍历

  • 2022/12/15 迭代法实现深度优先遍历
  • 2022/02/06 递归法实现

145. 二叉树的后序遍历

145.二叉树的后序遍历

  • 2022/12/15 迭代法实现深度优先遍历
  • 2022/02/06 递归法实现

94. 二叉树的中序遍历

94.二叉树的中序遍历

  • 2022/12/15 迭代法实现深度优先遍历
  • 2022/02/06 递归法实现

429.N 叉树的层序遍历

N 叉树的层序遍历

  • 2022/02/06 初学层序遍历算法

637.二叉树的层平均值

二叉树的层平均值

  • 2022/02/06 在层序遍历的基础上稍作修改

199.二叉树的右视图

二叉树的右视图

  • 2022/02/06 在层序遍历的基础上稍作修改

107.二叉树的层次遍历 2⃣️

二叉树的层次遍历 2⃣️

  • 2022/02/06 在层序遍历的基础上稍作修改

226.翻转二叉树

翻转二叉树

  • 2022/02/07 递归法 前序后序遍历

101. 对称二叉树

对称二叉树

  • 2022/02/07 递归法 后序遍历

104.二叉树的最大深度

二叉树的最大深度

  • 2022/02/07 递归法 后序遍历

111.二叉树的最小深度

二叉树的最小深度

  • 2023/02/20 后序遍历 递归法

222.完全二叉树的节点个数

完全二叉树的节点个数

  • 2023/02/20 后序遍历 递归法 想要考虑完全二叉树的特性

110.平衡二叉树

平衡二叉树

  • 2023/02/23

257.二叉树的所有路径

二叉树的所有路径

  • 2023/02/23

404.左叶子只和

左叶子只和

  • 2023/02/23

513.找树左下角的值

找树左下角的值

  • 2023/02/23

112.路径总和

路径总和

  • 2023/02/23

77.组合

组合

  • 2023/02/24 回溯

  • 2023/02/25 回溯并且剪枝优化

216.组合总和 3⃣️

组合总和 3⃣️

  • 2023/02/25 回溯并且剪枝优化

17.电话号码的字母组合

电话号码的字母组合

  • 2023/02/25 回溯