链表
文章平均质量分 90
珞沫
欲望以提升热忱,毅力以磨平高山。
展开
-
LeetCode之相交链表(160)、分割链表(725)
1、相交链表(160) 题目描述: 【简单题】 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例一: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of the node with value = 8 输入解释:相交节点的值为 8 (注意,如果两个链表相交则不能为 0)。从各自的表头开始算起,链表 A 为原创 2021-01-28 16:17:30 · 129 阅读 · 1 评论 -
LeetCode之算法面试之链表5之删除链表中的节点(237)、删除链表的倒数第N个节点(19)、旋转链表(61)、重排链表(143)、回文链表(234)
链表51、删除链表中的节点(237)2、删除链表的倒数第N个节点(19)3、旋转链表(61)4、重排链表(143)5、回文链表(234) 1、删除链表中的节点(237) 题目描述: 【简单题】 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。 题目链接 思路分析: 2、删除链表的倒数第N个节点(19) 题目描述: 【中等题】 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 题目链接 思路分析: 3、旋转链表(61) 题目描述: 【中原创 2020-11-08 12:59:36 · 270 阅读 · 0 评论 -
LeetCode之算法面试之链表4之两两交换链表中的节点(24)、k个一组翻转链表(25)、对链表进行插入排序(147)、排序链表(148)
链表41、两两交换链表中的节点(24)2、k个一组翻转链表(25)3、对链表进行插入排序(147)4、排序链表(148) 1、两两交换链表中的节点(24) 题目描述: 【中等题】 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 题目链接 思路分析: 2、k个一组翻转链表(25) 题目描述: 【困难题】 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是原创 2020-11-07 20:43:35 · 132 阅读 · 0 评论 -
LeetCode之算法面试之链表3之合并两个有序链表(21)、移除链表元素(203)、删除排序链表中的重复元素(82)
链表31、合并两个有序链表(21)2、移除链表元素(203)3、删除排序链表中的重复元素(82) 1、合并两个有序链表(21) 题目描述: 【简单题】 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 题目链接 思路分析: 2、移除链表元素(203) 题目描述: 【简单题】 删除链表中等于给定值 val 的所有节点。 题目链接 思路分析: 3、删除排序链表中的重复元素(82) 题目描述: 【中等题】 给定一个排序链表,删除所有含有重复数字的节点,只保留原始原创 2020-11-07 10:27:20 · 180 阅读 · 0 评论 -
LeetCode之算法面试之链表2之两数相加(2)、奇偶链表(328)、两数相加II(445)
链表21、两数相加(2)2、奇偶链表(328)1、反转链表(206) 1、两数相加(2) 题目描述: 【中等题】 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 题目链接 思路分析: 1、此题关键是处理两位相加进位与当前位的确定 2、因为两个数字相加会产生进位,所以使用carry来保存进位,初原创 2020-11-06 08:46:13 · 239 阅读 · 0 评论 -
LeetCode之算法面试之链表1之反转链表(206)、反转链表II(92)、删除排序链表中的重复元素(83)、分隔链表(86)
链表11、反转链表(206)2、字母异位词分组(49)1、字母异位词分组(49)1、字母异位词分组(49) 1、反转链表(206) 题目描述: 【简单题】 题目链接 思路分析: 1、通过上图分析,反转链表相当于改变每一节点的next指针为前一节点。由于在转变过程中,涉及到前一节点,当前节点,遍历完当前节点转场的下一节点,则可以设置三个指针(pre前指针,cur当前指针,nxt下一指针),从而实现反转。 2、初始pre为空指针,代表前一节点;cur为头节点head,代表当前节点; 3、当前节点cur不原创 2020-11-04 11:42:22 · 139 阅读 · 0 评论