
链表
小王子y
互关啊!!
展开
-
Leedcode19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。输出:[1,2,3,5]原创 2023-08-30 22:36:31 · 299 阅读 · 0 评论 -
天梯赛 L2-022 重排链表(简单解法)
给定一个单链表 L1 →L2 →⋯→Ln−1 →Ln ,请编写程序将链表重新排列为 Ln →L1 →Ln−1 →L2 →⋯。例如:给定L为1→2→3→4→5→6,则输出应该为6→1→5→2→4→3。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址和结点总个数,即正整数N (≤105 )。结点的地址是5位非负整数,NULL地址用−1表示。接下来有N行,每行格式为:Address Data原创 2020-11-08 18:16:32 · 133 阅读 · 0 评论 -
PAT甲级真题1133 链表元素分类(简单解法)
给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0,K][0,K] 区间内的元素都排在大于 KK 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10→11→-2,KK 为 1010,则输出应该为 -4→-6→-2→7→0→5→10→18→11。输入格式第一行包含第 11 个结点的地址;结点总个数,即正整数 NN;以及正整数 KK。结点的地址是 55 位非负整数,NULL 地址用 −1 表示。接下来有原创 2020-11-08 18:01:35 · 182 阅读 · 0 评论 -
PAT甲级真题1097 链表重复数据删除(简单解法)
给定一个单链表 LL,链表上的每个节点都存有一个键值,你应该删掉其中拥有重复键值绝对值的节点。也就是说,对于每个值 KK,只保留键值或键值绝对值为 KK 的第一个节点。同时,被删掉的节点也应保存在一个单独的链表中。例如,给定 LL 为 21→-15→-15→-7→15,则删除重复数据后的链表为 21→-15→-7,已删除链表为 -15→15。输入格式第一行首先包含头节点地址,然后包含节点总数 NN。节点地址用一个 55 位非负整数表示(可能有前导 00),NULL 用 −1−1 表示。接下来原创 2020-11-08 17:44:53 · 328 阅读 · 0 评论 -
PAT甲级真题1074 反转链表(简单解法)
给定一个常数 KK 和一个单链表 LL,请你在单链表上每 KK 个元素做一次反转,并输出反转完成后的链表。如果链表最后一部分不足 KK 个元素,则最后一部分不翻转。例如,假设 LL 为 1→2→3→4→5→61→2→3→4→5→6,如果 K=3K=3,则你应该输出 3→2→1→6→5→43→2→1→6→5→4;如果 K=4K=4,则你应该输出 4→3→2→1→5→64→3→2→1→5→6。补充1、本题中可能包含不在链表中的节点,这些节点无需考虑。输入格式第一行包含头节点地址,总节点数量 NN 以原创 2020-11-08 17:23:05 · 428 阅读 · 1 评论 -
PAT甲级真题1032 共享(链表简单解法)
在储存单词时,我们可以使用链表逐个字母进行储存。为了节约空间,如果两个单词拥有共同的后缀,那么可以让它们共享一个相同的子链表。例如,loading 和 being 可以如下图所示储存:ef0a1fdf-3d9f-46dc-9a27-21f989270fd4.jpg你需要找到共同后缀的起始位置。(对于上图,即为 ii 的位置)补充本题中可能包含不在链表中的节点,这些节点无需考虑。输入格式第一行包含两个节点地址和一个正整数 NN,两个地址分别是两个单词的首字母节点地址,NN 是总节点数量。节点原创 2020-11-08 17:05:51 · 416 阅读 · 0 评论