Loading...
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:**输入:** 1->2->3->4->5->NULL, m = 2, n = 4 **输出:** 1->4->3->2->5->NULL 这个题因为是从位置m开始反转,所以我们需要m之前的一个节点first,m位置的节点cur(最...
给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余...
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 此处我们需要交换的两个节点的前一个节点pre,需要交换的两个节点mid、next,两个节点的后一个节点third。首先将pre的next指向next节点,next...
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入: [ 1->4->5, 1->3->4,...
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 这个题目从两个链表的头节点开始进行比较即可,谁小放谁,需要注意的是当一个链表走完的时候就不需要再比较了,直接把另一条链表剩余节点链过来即可。解法如下:/** ...
给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = ...
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8...