leetcode 高薪_leetcode题目整理 —— 链表

5fb03bf1ce1e30c42a1054b9b6c17ff4.png

在leetcode中链表相关的题目算是比较简单的了(然而还有无脑算的),leetcode也给出的这个分类,但是没再进一步细分,我稍微整理了一下。

基本操作

题号707 ,实现一个链表。链表的查询 添加 删除节点 ,例题级别的难度 。这题不会做,那就考虑做前端吧(逃

删除节点

题号203 最基本的删除节点 会上面的707这题顺手做了就行

题号82 82 删除重复的节点 没什么特别的难度

题号237 这题是打着链表旗号的脑筋急转弯 ,可以的话请给这题 踩一下

翻转链表

题号 206 基本的翻转链表

题号 92 翻转部分链表

题号 24 成对翻转

题号 25 k个一组翻转链表

翻转链表的题目本身难度都不是很大,只要206能做出来剩下几道都不是很难。链表翻转也是很基本的操作,其他题目用到了链表翻转

合并链表

题号 21 基本的合并

题号 23 21题的衍生,k个链表合并 还需要会分治

题号 2 用链表表示数字 实现加法

题号 445 题目2的衍生,多几个翻转链表而已

拆分链表

题号328 题号86 基本的拆分

题号138 这题有意思 这题真的很有意思 这题要划重点

快慢指针

快慢指针相关的题目才算是有那么一丢丢水平。快慢指针大概分两种,一种是快指针速度是慢指针两倍,另一种是快指针比慢指针快N步。

我们先看第一种情况。题号876,算是这一类题目的基础题目了,做了它就该明白如何找链表的中点了。题号234,我们找到了中点,就可以把链表分为前后两端,后半段翻转(又是翻转链表),然后就可以判断是否是回文了(时间O(n) 空间O(1))。题号143,和234操作基本类似,最后一步不是比较是否是回文,而是合并链表。题号109,这题是要根据已排序的链表构建平衡二叉搜索树,也是需要快慢指针找到中点,然后将链表分为前后两端继续分治处理,这题比较有意思。

然后看快指针比慢指针快k步的情况。题号19,要求删除倒数第k个元素。题号61 需要找到倒数第k个元素再重排链表。

环其实应该放到快慢指针下面,但是考虑到比较独特,单独提出来了。题号141 判断是否有环,题号142 找到环的起点。

排序

这里的其实算是打着链表的旗号考排序。

题号147 插入排序

题号148 归并排序

未分类

还有几个不是特别容易分类的

题号 160 找两个链表的交叉点 我觉得放在树这个分类下会更好

题号430 其实考察的是栈,但是是以双向链表为背景

题号 725 不知道咋分类 反正不难

题号817 也是不知道咋分类 也不难

最后给自己仓库打个广告

leetcode js实现​github.com
8a6e75dc8939d3470809cc532df9f6f8.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值