链表
文章平均质量分 83
Tanyongyin
公众号:【程序员小熊】 华为程序员,作者自学计算机,公众号主要分享:各大厂笔试/面试中的高频算法题、编程语言、数据结构与算法和后台开发相关资料。
展开
-
链表问题,如何优雅递龟?
前言大家好,我是来自「华为」的「程序员小熊」。绝大部分童鞋都知道,解决「链表」相关问题时,常用的解题套路主要包括「双指针」、「迭代」和「虚拟头节点」等等。今天「小熊」介绍采用「递归」的策略,秒杀「链表」相关问题,使得代码更「优雅」,并以两道常见的面试题作为例题来讲解,供大家参考,希望对大家有所帮助。链表与递归链表具有天然的递归性,一个链表可以看出头节点后挂接一个更短的链表,这个更短的链表是以原链表的头节点的下一节点为头节点,依次内推,直到最后的更短的链表为空,空本身也是一个链表(最基础的)。原创 2021-06-05 14:16:43 · 123 阅读 · 0 评论 -
快慢指针---不就是快指针走两步慢指针走一步嘛?
前言大家好,我是程序员小熊,来自大厂的程序猿。快慢指针是面试中常考的知识点,尤其是涉及到链表相关问题,比如判断单链表是否有环-141. 环形链表和求环形单链表入环的第一个节点-142. 环形链表 II等等。对快慢指针有所了解的童鞋都知道,其解题的套路一般是快指针每次走两步,慢指针每次走一步,然后再根据一些判断条件去做相应的操作。可快慢指针真的只是快指针走两步慢指针走一步嘛?本文以求单链表的上中间节点和下中点为例子,深入剖析,供大家参考,希望对大家有所帮助。题目一给定一个头结点为 head 的原创 2021-05-17 00:34:18 · 384 阅读 · 0 评论 -
互联网大厂算法面试题之旋转链表
大家好,我是 程序员小熊,来自某 大厂 的程序猿,今天带来一道来自互联网大厂(字节、腾讯、微软、苹果等) 面试题 Leetcode 61. 旋转链表 ,提供 虚拟头节点 + 双指针 的解题思路,采用 动图 的方式进行层层剖析,供大家参考,希望对大家无论是刷题还是面试都有所帮助。61. 旋转链表描述给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。解题思路思考考虑以下几种情况:特殊情况 链表为空或只有一个节点; k 的值.原创 2021-04-29 19:58:58 · 230 阅读 · 0 评论 -
动图:删除链表的倒数第 N 个结点
本文主要介绍一道面试中常考链表删除相关的题目,即 leetcode 19. 删除链表的倒数第 N 个结点。采用 双指针 + 动图 的方式进行剖析,供大家参考,希望对大家有所帮组。19. 删除链表的倒数第 N 个结点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?解题思路在链表中要删除某个节点 nodeB,必须先找到 该节点的前一节点 nodeA ,再将 nodeA 指向 nodeB 的下一节点 nodeC ,从而实现节点 n.原创 2021-04-14 05:54:08 · 518 阅读 · 0 评论 -
四种方法解决leetcode203. 移除链表元素
更多精彩文章请关注微信公众号:TanLiuYi00本文主要针对移除单链表中的元素,提供了四种解题思路,供大家参考,希望能对大家提供帮助。题目解法一:递归思路:在之前的链表推文字节面试题 leetcode 83. 删除排序链表中的重复元素和面试不可不会的单链表反转中都提到了链表具有天然的递归性,一个链表可以看成头节点后面挂接一个更短的(缺少头节点)的链表,同理这个更短的链表也可以看成头节点后面挂接一个更更短的链表;依次类推。本题也可采用这种思路来做,具体如下图所示。如上图示,.原创 2021-02-01 02:09:02 · 448 阅读 · 0 评论 -
单链表之环形链表
更多精彩文章请关注微信公众号:TanLiuYi00不论在面试或者刷题过程中,很大概率都会遇到环形链表这种类型的题目,例如 leetcode141. 环形链表 以及 leetcode 142. 环形链表 II等,本文主要介绍通过快慢指针法来解决此类题型,以供大家参考。环形链表环形链表大致样子如下图所示:快慢指针法判断链表是否是环形链表,一般通过快慢指针法。操作步骤一、分别定义两个均指向头节点的指针(fast/slow);二、快指针每次走两步,慢指针每次走一步;...原创 2021-02-01 01:49:31 · 229 阅读 · 0 评论 -
字节面试题 leetcode 83. 删除排序链表中的重复元素
更多精彩文章请关注微信公众号:TanLiuYi00今天给大家分享一道字节跳动的面试题,也就是 Leetcode83. 删除排序链表中的重复元素,提供三种(递归、迭代(单指针、双指针))解题思路,供大家参考。 题目给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->...原创 2021-01-23 11:58:44 · 273 阅读 · 0 评论 -
面试不可不会的单链表反转
更多精彩文章请关注微信公众号:TanLiuYi00单链表反转是面试中常考的一道题,这道题看起来简单,但是能一遍写出 bug free 的代码相当不容易,本文主要提供递归和迭代两种解题方法,供大家参考。题目 ...原创 2021-01-23 11:41:26 · 162 阅读 · 2 评论