![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
链表
文章平均质量分 60
链表
晋级菜鸟
这个作者很懒,什么都没留下…
展开
-
328. 奇偶链表
328. 奇偶链表 难度中等412收藏分享切换为英文接收动态反馈 给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。 请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。 示例 1: 输入: 1->2->3->4->5->NULL 输出: 1->3->5->2->4->NULL 示例原创 2021-04-20 12:01:16 · 59 阅读 · 0 评论 -
160. 相交链表
160. 相交链表 难度简单1070收藏分享切换为英文接收动态反馈 编写一个程序,找到两个单链表相交的起始节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入: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 (注意,如果两个链表相交则不能.原创 2021-03-31 14:49:14 · 79 阅读 · 0 评论 -
83. 删除排序链表中的重复元素
83. 删除排序链表中的重复元素 难度简单515收藏分享切换为英文接收动态反馈 存在一个按升序排列的链表,给你这个链表的头节点head,请你删除所有重复的元素,使每个元素只出现一次。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,1,2] 输出:[1,2] 示例 2: 输入:head = [1,1,2,3,3] 输出:[1,2,3] 提示: 链表中节点数目在范围[0, 300]内 -100 <= Node.val &l...原创 2021-03-26 10:12:25 · 103 阅读 · 0 评论 -
82. 删除排序链表中的重复元素 II
82. 删除排序链表中的重复元素 II 难度中等547收藏分享切换为英文接收动态反馈 存在一个按升序排列的链表,给你这个链表的头节点head,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中没有重复出现的数字。 返回同样按升序排列的结果链表。 示例 1: 输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5] 示例 2: 输入:head = [1,1,1,2,3] 输出:[2,3] 提示: 链表中节点数目在范围[0, 300...原创 2021-03-25 18:40:42 · 95 阅读 · 0 评论 -
面试题 02.03. 删除中间节点
实现一种算法,删除单向链表中间的某个节点(即不是第一个或最后一个节点),假定你只能访问该节点。 示例: 输入:单向链表a->b->c->d->e->f中的节点c 结果:不返回任何数据,但该链表变为a->b->d->e->f 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/delete-middle-node-lcci 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 .原创 2021-03-24 23:02:47 · 77 阅读 · 0 评论 -
环形链表
给定一个链表,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。 如果链表中存在环,则返回 true 。 否则,返回 false 。 进阶: 你能用 O(1)(即,常量)内存解决此问题吗? 示例 1: 输入:head = [3..原创 2021-03-18 01:01:36 · 230 阅读 · 0 评论 -
回文链表(todo:优化为空间O1)
回文链表 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 作者:力扣 (LeetCode) 链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnv1oc/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系.原创 2021-03-17 22:55:21 · 86 阅读 · 0 评论 -
合并两个有序链表
合并两个有序链表 将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 示例 3: 输入:l1 = [], l2 = [0] 输出:[0] 提示: 两个链表的节点数目范围是 [0, 50] -100 <= Node.val <= 100 l1 和 l2 均...原创 2021-03-17 21:55:25 · 77 阅读 · 0 评论 -
反转链表(TODO:递归法)
反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 作者:力扣 (LeetCode) 链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnnhm6/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载原创 2021-03-17 21:41:33 · 68 阅读 · 0 评论 -
删除链表的倒数第N个节点
删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2: 输入:head = [1], n = 1 输出:[] 示例 3: 输入:head = [1,2], n = 1 输出:[1] 提示: 链表中结点的数目为sz 1 <= sz <= 30 0 <= ...原创 2021-03-17 20:59:31 · 57 阅读 · 0 评论 -
删除链表中的节点
删除链表中的节点 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为要被删除的节点。 现有一个链表 --head =[4,5,1,9],它可以表示为: 示例 1: 输入:head = [4,5,1,9], node = 5 输出:[4,1,9] 解释:给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2: 输入:head = [4,5,1,9], node = ...原创 2021-03-17 20:24:44 · 64 阅读 · 0 评论