
LeedCode
Zero_975
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeedCode--【19】--【删除链表的倒数第 n 个节点】
一、原题要求:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?思路: 使用两个指针,...原创 2018-11-15 21:56:43 · 255 阅读 · 0 评论 -
LeedCode---【237】【删除链表中的节点】
一、原题要求:请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么...原创 2018-11-26 22:32:57 · 242 阅读 · 0 评论 -
LeedCode---【147】【对链表进行插入排序】
一、原题要求:对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适...原创 2018-11-25 22:34:46 · 232 阅读 · 0 评论 -
LeedCode---【142】【环形链表II】
一、原题要求:给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。解题思路: 创建两个指针一个每次走两步,一个每次走一步,若单链表带环,则在第一个指针不会找到尾节点,而且第一个会在环内已知循环知道和第二个指针相遇才能退出循环,同时返回这个节点位置; 若带环则让快指针指向头结点,然后让两个指针同时走,...原创 2018-11-24 18:52:48 · 246 阅读 · 0 评论 -
LeedCode---【141】【环形链表】
一、原题要求:给定一个链表,判断链表中是否有环。解题思路: 判断是否带环:用快慢指针。快指针每走两步,慢指针走一步,如果两者在某个点相遇,则链表带环。二、代码实现:/** * 原题要求: * 给定一个链表,判断链表中是否有环。 * 思路: * 判断是否带环:用快慢指针。快指针每走两步,慢指针走一步,如果两者在某个点相遇,则链表带环。 * * @ClassName...原创 2018-11-24 18:45:10 · 212 阅读 · 0 评论 -
LeedCode---【24】【两两交换链表节点】
一、原题要求:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3说明:你的算法只能使用常数的额外空间。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解题思路:使用一个新的节点pre来辅助操作,对要进行交换的链表,每两个的位置进行交换, 并且...原创 2018-11-17 20:13:12 · 199 阅读 · 0 评论 -
LeedCode---【206】【反转链表I】
一、原题要求:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NUL二、代码实现:/** * 题目要求: * 反转一个单链表。 * * 示例: * * 输入: 1->2->3->4->5->NULL *原创 2018-11-16 16:01:43 · 274 阅读 · 0 评论 -
LeedCode---92】【反转链表II】
一、原题要求:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL示例:/** * 反转从位置 m 到 n 的链表。请使用一趟扫描完成反...原创 2018-11-16 15:54:32 · 203 阅读 · 0 评论 -
LeedCode---【82】【删除排序链表的重复元素II】
一、原题要求:给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3解题思路: h -> 1 -&g原创 2018-11-20 22:59:31 · 193 阅读 · 0 评论 -
LeedCode---【83】【删除链表中的重复元素】
一、原题要求:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路:遍历链表,如果pre和cur的val相同的话pre.next = cur.next,然后cur = cur.ne...原创 2018-11-20 22:50:48 · 167 阅读 · 0 评论 -
LeedCode--【86】【分割链表】
一、原题要求:给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:/** * 题目要求: * <p> * 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 * 你应当保留两个分区中每个节点的初始相对位置。 ...原创 2018-11-16 14:20:25 · 219 阅读 · 0 评论 -
LeedCode---【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向右旋原创 2018-11-18 20:26:08 · 206 阅读 · 0 评论 -
LeedCode【021】【MergeTwoSortedLists】
一、原题要求:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路* 使用头结点root进行辅助操作,创建一个头结点,再使用两个引用指向两个链表的头结点,* 将较小的结点值的结点摘下来接到r...原创 2018-11-15 22:09:24 · 191 阅读 · 0 评论 -
LeedCode---【203】【移除链表元素】
一、原题要求:删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路:递归:每次对头进行判断是否此值等于给定值val,如果相等则将此节点删除,将下一个节点作为头节点递归调用自己,否则将此节点的下一个节点为作为头节点递归调...原创 2018-11-26 22:44:17 · 209 阅读 · 0 评论