
链表
文章平均质量分 63
Ashiu
这个作者很懒,什么都没留下…
展开
-
146. LRU 缓存
int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1。// 该操作会使得关键字 2 作废,缓存是 {1=1, 3=3}// 该操作会使得关键字 1 作废,缓存是 {4=4, 3=3}链接:https://leetcode.cn/problems/summary-ranges。// 缓存是 {1=1, 2=2}// 返回 -1 (未找到)lRUCache.get(1);// 返回 -1 (未找到)lRUCache.put(1, 1);// 缓存是 {1=1}原创 2023-08-16 19:17:43 · 864 阅读 · 0 评论 -
86. 分隔链表
时间24ms击败 42.86%使用 Python 的用户内存12.70mb击败 64.81%使用 Python 的用户""""""# 存储小于x的节点s = sn# 存储大于x的节点l = ln# 遍历检查节点, 将节点归类p = headwhile p:s = s.nextelse:l = l.nextp = p.next# s为ln的最后一个节点位置, 将s的下一项指向ln, 能够连接两个链表, ln.next是排除头节点的ln。原创 2023-08-14 23:20:46 · 182 阅读 · 0 评论 -
61. 旋转链表
给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:head = [1,2,3,4,5], k = 2。输入:head = [0,1,2], k = 4。击败 81.37%使用 Python 的用户。击败 83.54%使用 Python 的用户。击败 53.42%使用 Python 的用户。击败 97.52%使用 Python 的用户。输出:[4,5,1,2,3]输出:[2,0,1]原创 2023-08-14 23:04:16 · 283 阅读 · 0 评论 -
82. 删除排序链表中的重复元素 II
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字。返回 已排序的链表。链接:https://leetcode.cn/problems/summary-ranges。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。输入:head = [1,2,3,3,4,4,5]击败 46.87%使用 Python 的用户。击败 30.99%使用 Python 的用户。输入:head = [1,1,1,2,3]输出:[1,2,5]原创 2023-08-14 22:22:18 · 202 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
链接:https://leetcode.cn/problems/summary-ranges。商业转载请联系官方授权,非商业转载请注明出处。给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。击败 85.15%使用 Python 的用户。击败 95.90%使用 Python 的用户。输入:head = [1], n = 1。你能尝试使用一趟扫描实现吗?输出:[1,2,3,5]原创 2023-08-14 21:28:19 · 184 阅读 · 0 评论 -
25. K 个一组翻转链表
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。著作权归领扣网络所有。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。输入:head = [1,2,3,4,5], k = 2。输入:head = [1,2,3,4,5], k = 3。击败 26.88%使用 Python3 的用户。输出:[2,1,4,3,5]输出:[3,2,1,4,5]原创 2023-08-13 00:37:02 · 171 阅读 · 0 评论 -
92. 反转链表 II
给你单链表的头指针 head 和两个整数 left 和 right ,其中 left原创 2023-08-12 08:03:51 · 181 阅读 · 0 评论 -
python 链表相关
【代码】python 链表相关。原创 2023-08-12 04:42:25 · 196 阅读 · 0 评论 -
138. 随机链表的复制
新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]输入:head = [[3,null],[3,0],[3,null]]原创 2023-08-11 11:01:42 · 145 阅读 · 0 评论 -
21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。商业转载请联系官方授权,非商业转载请注明出处。输入:l1 = [1,2,4], l2 = [1,3,4]击败 59.69%使用 Python 的用户。击败 83.66%使用 Python 的用户。击败 73.38%使用 Python 的用户。击败 8.10%使用 Python 的用户。输入:l1 = [], l2 = [0]输入:l1 = [], l2 = []输出:[1,1,2,3,4,4]原创 2023-08-09 07:47:30 · 131 阅读 · 0 评论 -
2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]著作权归领扣网络所有。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]输出:[7,0,8]原创 2023-08-09 07:24:25 · 113 阅读 · 0 评论 -
141. 环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。输入:head = [3,2,0,-4], pos = 1。给你一个链表的头节点 head ,判断链表中是否有环。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。解释:链表中没有环。原创 2023-08-09 06:34:49 · 140 阅读 · 0 评论