
链表
GoKu~
软件简单为美:正确优于速度, 简单优于复杂, 清晰优于机巧, 安全优于不安全。
展开
-
5915. 找出临界点之间的最小和最大距离
5915. 找出临界点之间的最小和最大距离链表中的临界点定义为一个局部极大值点或局部极小值点 。如果当前节点的值严格大于前一个节点和后一个节点,那么这个节点就是一个 局部极大值点。如果当前节点的值严格小于前一个节点和后一个节点,那么这个节点就是一个 局部极小值点。注意:节点只有在同时存在前一个节点和后一个节点的情况下,才能成为一个局部极大值点 / 极小值点。给你一个链表head,返回一个长度为 2 的数组[minDistance, maxDistanc...原创 2021-10-31 20:19:21 · 137 阅读 · 0 评论 -
142. 环形链表 II
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以使用 O(1) 空间解决此题?(没有这个条件的话,可以使用哈希表存储快慢指针的数据,找到第一个重复出现的节点就是入口节点,空间复杂的o(n))示例 1:...原创 2021-10-24 11:19:37 · 115 阅读 · 0 评论 -
02.07. 链表相交
问题:给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。方法1:朴树算法/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next;...原创 2021-10-23 21:17:09 · 574 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next.原创 2021-10-23 16:52:54 · 93 阅读 · 0 评论 -
24. 两两交换链表中的节点
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next.原创 2021-10-23 16:38:37 · 98 阅读 · 0 评论 -
移除链表元数
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next.原创 2021-10-10 17:28:36 · 273 阅读 · 0 评论