![](https://img-blog.csdnimg.cn/20200915214910932.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
链表
链表相关题目
欲游山河
无
展开
-
剑指 Offer 25. 合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000题解:/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next;原创 2020-09-21 16:22:06 · 137 阅读 · 0 评论 -
19. 删除链表的倒数第N个节点
题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?题解:/** * Definition for singly-linked list. * public class ListNode { * int val;原创 2020-09-17 19:37:54 · 154 阅读 · 0 评论 -
2. 两数相加
题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807题解:...原创 2020-09-16 17:46:50 · 97 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点
题目:给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。注意:此题对比原题有改动示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数原创 2020-09-16 06:55:47 · 138 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5....原创 2020-09-16 06:55:32 · 68 阅读 · 0 评论 -
剑指 Offer 24. 反转链表
题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 限制:0 <= 节点个数 <= 5000题解:/** * Definition for singly-linked list. * public class ListNode { * int val; * List原创 2020-09-16 06:55:10 · 129 阅读 · 0 评论