力扣算法练习汇总(持续更新......)

代码仓库地址

代码被上传至码云仓库中,大家有需要的可以下载源代码:Git仓库地址链接

刷题两大技巧

1、多看题解

多看leetcode中的题解,里面有很多大佬非常nice的解体思路和想法,非常值得我们学习。

2、经验积累总结

设计到一些常用API、解题思路。
leetcode刷题经验积累总结(持续更新中…)

一、排序篇

Java实现快速排序–O(nlogn)

二、模块划分篇

1、数组

数组理论基础:借鉴

【leetcode】704.二分查找
【leetcode】35. 搜索插入位置
【leetcode】27. 移除元素
【leetcode】26. 删除有序数组中的重复项
【leetcode】977. 有序数组的平方
【leetcode】209. 长度最小的子数组
【leetcode】59.螺旋矩阵II
【剑指offer】剑指 Offer 04. 二维数组中的查找

数组总结:借鉴

追加:
【leetcode】4. 寻找两个正序数组的中位数(未解决)

2、链表

链表理论基础:借鉴

【leetcode】203. 移除链表元素(定义一个虚拟节点)
【leetcode】206. 反转链表(定义一个新链表)
【leetcode】24. 两两交换链表中的节点(定义一个虚拟节点)
【leetcode】19. 删除链表的倒数第 N 个结点(定义一个虚拟节点)
【leetcode】02.07. 链表相交
【leetcode】142. 环形链表 II(快慢指针)
【剑指 Offer】剑指 Offer 06. 从尾到头打印链表

链表总结:借鉴

追加:
【leetcode】2. 两数相加(模拟法)

3、哈希表

哈希表理论基础:借鉴

当我们想使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构。

  • 数组
  • set (集合)
  • map(映射)

【leetcode】242.有效的字母异位词
【leetcode】349. 两个数组的交集
【leetcode】202.快乐数
【leetcode】1. 两数之和
第454题.四数相加II - 未做
383. 赎金信 - 未做
【leetcode】15. 三数之和
【leetcode】18. 四数之和

哈希表总结 -借鉴

4、字符串

【leetcode】344. 反转字符串
【leetcode】541. 反转字符串 II
【剑指 Offer 】剑指 Offer 05. 替换空格
【leetcode】151. 颠倒字符串中的单词
【剑指 Offer】剑指 Offer 58 - II. 左旋转字符串
【leetcode】28. 实现 strStr()
459.重复的子字符串 - 未做

字符串总结 - 借鉴

追加:
【leetcode】3. 无重复字符的最长子串(暴力法)

5、双指针

练习链接

6、二叉树

【剑指 Offer】剑指 Offer 07. 重建二叉树

7、栈

【剑指 Offer】剑指 Offer 09. 用两个栈实现队列

三、力扣篇(汇总)

LeetCode 热题 HOT 100

【leetcode】1. 两数之和
【leetcode】2. 两数相加(模拟法)
【leetcode】02.07. 链表相交
【leetcode】3. 无重复字符的最长子串(暴力法)
【leetcode】4. 寻找两个正序数组的中位数(未解决)
【leetcode】15. 三数之和
【leetcode】18. 四数之和
【leetcode】19. 删除链表的倒数第 N 个结点(定义一个虚拟节点)
【leetcode】24. 两两交换链表中的节点(定义一个虚拟节点)
【leetcode】26. 删除有序数组中的重复项
【leetcode】27. 移除元素
【leetcode】28. 实现 strStr()
【leetcode】35. 搜索插入位置
【leetcode】59.螺旋矩阵II
【leetcode】142. 环形链表 II(快慢指针)
【leetcode】151. 颠倒字符串中的单词
【leetcode】202.快乐数
【leetcode】203. 移除链表元素(定义一个虚拟节点)
【leetcode】206. 反转链表(定义一个新链表)
【leetcode】209. 长度最小的子数组
【leetcode】242.有效的字母异位词
【leetcode】344. 反转字符串
【leetcode】349. 两个数组的交集
【leetcode】541. 反转字符串 II
【leetcode】704.二分查找
【leetcode】977. 有序数组的平方

四、剑指 Offer篇(汇总)

【剑指offer】剑指 Offer 04. 二维数组中的查找
【剑指 Offer 】剑指 Offer 05. 替换空格
【剑指 Offer】剑指 Offer 06. 从尾到头打印链表
【剑指 Offer】剑指 Offer 07. 重建二叉树
【剑指 Offer】剑指 Offer 09. 用两个栈实现队列
##########后面未整理到相应模块
【剑指 Offer】剑指 Offer 10- I. 斐波那契数列
【剑指 Offer】剑指 Offer 10- II. 青蛙跳台阶问题
【剑指 Offe】剑指 Offer 11. 旋转数组的最小数字
【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
【剑指 Offe】剑指 Offer 18. 删除链表的节点
【剑指 Offer】剑指 Offer 22. 链表中倒数第k个节点

【剑指 Offer】剑指 Offer 58 - II. 左旋转字符串

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@来杯咖啡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值