
链表
泽阳Alex
热爱摄影,热爱生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【2】两数相加(已优化)
题目(难度:中等): 给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0开头。 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -&...原创 2019-08-27 11:19:17 · 210 阅读 · 0 评论 -
【19】删除链表的倒数第N个节点(已优化)
题目(难度:中等): 给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 解法: 在求出链表长度len之后,利用(len-n)从头开始遍历,删除指定节点。 代码实现: package Mid...原创 2019-09-03 16:26:55 · 124 阅读 · 0 评论 -
【24】两两交换链表的节点(已优化)
题目(难度:中等): 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3 解法思想: 先创建一个空节点,其next指向head,然后利用node1、node2和next三个指针变量进行交换。 代码实现...原创 2019-09-04 19:37:58 · 133 阅读 · 0 评论 -
【234】回文链表(已优化)
题目(难度:简单): 请判断一个链表是否是回文链表 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 代码思想: 利用快慢指针寻找链表中点,并在移动的过程中,将前半部分链表反向连接,这需要pre和prepare两个额外指针来合作,最终比较前后两部分链表节点的值是否相同即可。 时间复杂度O(n),...原创 2019-09-23 16:55:56 · 105 阅读 · 0 评论 -
【86】分隔链表(已优化)
题目(难度:中等): 给定一个链表和一个特定值x,对链表进行分隔,使得所有小于x的节点都在大于或等于x的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5 代码思想: 由于需要原地顺序,再新...原创 2019-10-08 15:52:04 · 106 阅读 · 0 评论 -
【92】反转链表II(已优化)
题目(难度:中等): 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明: 1 ≤m≤n≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 代码思想: 关键点在于m的前一个位置(l)和反转后需要移动的位置(这里是...原创 2019-10-09 08:40:57 · 187 阅读 · 0 评论 -
【141】【142】环形链表(已优化)
【141】题目(难度:简单): 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例2: 输入:head = [1...原创 2019-10-13 11:26:18 · 164 阅读 · 0 评论