随笔分类 - 链表
摘要:题目来源:leetcode19 删除链表的倒数第N个节点 题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的 n 保证是有效
阅读全文
摘要:题目来源:leetcode23 合并k个排序链表 题目描述: 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6 解题思路: 用优先队列实现最小堆。将每个链
阅读全文
摘要:题目来源:leetcode148 排序链表 题目描述: 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 解题思路
阅读全文
摘要:题目来源:leetcode237 删除链表 题目描述: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 示例 1: 输入: head = [4,5,1,9], node = 5 输出:
阅读全文
摘要:题目来源:leetcode234 回文链表 题目描述: 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 进阶: 你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题? 解题思路: 方法一:借助一个
阅读全文
摘要:题目来源:leetcode2 两数相加 题目描述: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会
阅读全文
摘要:牛客网剑指offer链表题目总结(共8道) 1、从尾到头打印链表(剑指3) 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 方法一:借助栈 /** * struct ListNode { * int val; * struct ListNode *next; * ListNode(i
阅读全文

浙公网安备 33010602011771号