![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
Jessio
这个作者很懒,什么都没留下…
展开
-
leetcode习题集——2. 两数相加
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&g.原创 2019-02-22 10:13:49 · 175 阅读 · 0 评论 -
leetcode习题集——114. 二叉树展开为链表
题目给定一个二叉树,原地将它展开为链表。例如,给定二叉树将其展开为:算法public class P114 { public void flatten(TreeNode root) { convertNode(root,null); return; } private TreeNode convertNode(TreeNode...原创 2019-06-15 10:48:17 · 138 阅读 · 0 评论 -
leetcode习题集——92. 反转链表 II
题目反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL算法public class P92 { public ListNode reverseB...原创 2019-06-07 16:25:52 · 95 阅读 · 0 评论 -
leetcode习题集——86. 分隔链表
题目给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5算法public ListNode partition(L...原创 2019-05-31 20:20:21 · 108 阅读 · 0 评论 -
leetcode习题集——61. 旋转链表
题目给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->...原创 2019-05-01 14:00:31 · 118 阅读 · 0 评论 -
leetcode习题集——19. 删除链表的倒数第N个节点
题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?算法1public class P19_RemoveNode { ...原创 2019-03-18 20:21:05 · 153 阅读 · 0 评论 -
leetcode习题集——21. 合并两个有序链表
题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4算法public class P21_MergeTwoSortedLists { public ListNode mergeTwoLists(L...原创 2019-03-19 11:58:11 · 136 阅读 · 0 评论 -
leetcode习题集——23. 合并K个排序链表
习题合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6算法public class P23_MergeKSortedLists { public ListNode m...原创 2019-03-20 17:16:06 · 112 阅读 · 0 评论 -
leetcode习题集——24. 两两交换链表中的节点
题目给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.算法1public class P24_SwapNodesinPairs { public ListNode swapPairs(ListNode...原创 2019-03-21 09:53:38 · 185 阅读 · 0 评论 -
leetcode习题集——25. k个一组翻转链表
题目给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k = 2 时,应当返回: 2->1->4->3->5当 k = 3 时,应当返回: 3->2->...原创 2019-03-21 11:11:40 · 117 阅读 · 0 评论 -
leetcode习题集——11. 盛最多水的容器
题目给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为...翻译 2019-03-06 21:34:42 · 117 阅读 · 0 评论 -
leetcode习题集——6. Z 字形变换
题目将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例...原创 2019-02-26 10:09:24 · 128 阅读 · 0 评论 -
leetcode习题集——143. 重排链表
题目给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.示例 2:给定链表 1->2->3->4->5, 重新排列为...原创 2019-07-02 16:54:21 · 177 阅读 · 0 评论