
链表
文章平均质量分 94
链表相关的算法
CodAlun
学最好的别人,做最好的自己!
展开
-
LeetCode-24-两两交换链表中的节点
题目 来源:LeetCode. 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入:head = [1,2,3,4] 输出:[2,1,4,3] 示例 2: 输入:head = [] 输出:[] 示例 3: 输入:head = [1] 输出:[1] 提示: 链表中节点的数目在范围 [0,100][0, 100][0,100] 内 0<=Node.val<=1000 <= Node.val &l原创 2021-10-20 16:46:25 · 117 阅读 · 0 评论 -
LeetCode-23-合并K个升序链表
题目 来源:LeetCode. 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->6 示例 2:原创 2021-10-19 18:14:00 · 277 阅读 · 0 评论 -
LeetCode-21-合并两个有序链表
一、要求 将两个有序链表合并,并且合并后的链表依然有序。 二、过程分析 首先比较两个链表的第一结点,将结点小的作为归并后链表的第一结点; 用一个指针保存起来,最后当作整个链表的头指针返回; 然后在定义两个移动指针分别用做比较两个链表后续结点; 再定义一个指针,当作插入结点的前驱节点; 当其中一个链表为空后,将尾结点插入到另一链表的合适位置中; 三、代码 public LinkNode merg...原创 2019-08-06 14:25:15 · 586 阅读 · 0 评论 -
LeetCode-19-删除链表的倒数第 N 个结点
一、要求 给定一个链表,要求删除倒数第K个结点,然后将该结点删除 二、过程分析 2.1、方法一 2.1.1、思路 首先给一个方法,遍历该链表,返回链表的结点个数; 然后开始遍历链表,找到K+1的结点; 将K+1结点直接指向K-1结点; 返回K结点; 2.1.2、代码 public LinkNode remove(LinkNode node, int k) throws Exception { ...原创 2019-08-08 11:38:09 · 209 阅读 · 0 评论