链表
# 链表
alibaba_张无忌
实X证明&盖璋~
展开
-
707. 设计链表
//单链表class ListNode { int val; ListNode next; ListNode(){} ListNode(int val) { this.val=val; }}class MyLinkedList { //size存储链表元素的个数 int size; //虚拟头结点 ListNode head; //初始化链表 public MyLinkedList() {原创 2022-03-14 19:06:01 · 199 阅读 · 0 评论 -
25. K 个一组翻转链表
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。class Solution { public ListNode reverseKGroup(ListNode head, int k) { ListNode dummy = new ListNode(0), prev = dummy, curr = head, next; dummy.next = head;//开一个亚节点 ..原创 2021-08-01 22:46:02 · 105 阅读 · 0 评论 -
142. 环形链表 II
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。public class Solution { public ListNode detectCycle(ListNode head) { if(head==null){ return head; } /** 还是快慢指针解法 快的每次走2 慢的每次走1 ...原创 2021-06-16 21:38:25 · 102 阅读 · 0 评论 -
141. 环形链表
给定一个链表,判断链表中是否有环。原创 2021-06-16 20:52:29 · 62 阅读 · 0 评论 -
148. 排序链表
给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。class Solution { public ListNode sortList(ListNode head) { /** 分治法求解 即可 */ if(head==null||head.next==null){ return head;} ListNode low=head; ListNode fast=h.原创 2021-06-27 10:30:53 · 136 阅读 · 0 评论 -
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, 重新排列为 1->5->2->4->3.来源:力扣(LeetCode)链接:https:...原创 2021-06-16 22:02:37 · 64 阅读 · 0 评论 -
328. 奇偶链表
class Solution { public ListNode oddEvenList(ListNode head) { if(head==null){ return head; } /** 使用亚节点 定义3个节点 ouHead jiHead ouTail jiTail 如果当前是奇数jiTail.next=当前值 否则 ouTa...原创 2021-06-16 20:41:19 · 79 阅读 · 0 评论 -
86. 分隔链表
给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。你应当 保留 两个分区中每个节点的初始相对位置。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partition-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class Solution { public ListNode partition(...原创 2021-06-16 20:24:02 · 115 阅读 · 0 评论 -
82. 删除排序链表中的重复元素 II
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中没有重复出现的数字。返回同样按升序排列的结果链表。class Solution { public ListNode deleteDuplicates(ListNode head) { /** 链表经典解法 删除就用亚节点的镜像节点,最后返回哑节点的下一个 如果他的 下个...原创 2021-06-16 11:10:39 · 57 阅读 · 0 评论 -
160. 相交链表
给你两个单链表的头节点headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2021-06-04 18:30:22 · 72 阅读 · 0 评论 -
23. 合并K个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。原创 2021-06-03 16:42:07 · 165 阅读 · 0 评论 -
21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2021-06-03 15:55:15 · 150 阅读 · 0 评论 -
445. 两数相加 II
给你两个 非空 链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 8 -> 0 -> 7把所有数字压入栈中,再依次取出相加。注意进位的情况。...原创 2021-06-03 15:35:57 · 100 阅读 · 0 评论 -
2. 两数相加
给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2021-06-03 15:19:56 · 78 阅读 · 0 评论 -
92. 反转链表 II
给你单链表的头指针 head 和两个整数left 和 right ,其中left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。原创 2021-06-03 10:00:25 · 65 阅读 · 0 评论 -
206. 反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。双指针即可,快指针到达null,慢指针就暂停!class Solution { public ListNode reverseList(ListNode head) { /** 双指针即可,快指针到达null,慢指针就暂停! */ ListNode low=null,fast=head; while(fast!=null){ ...原创 2021-06-03 08:23:06 · 70 阅读 · 0 评论 -
24. 两两交换链表中的节点
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。原创 2021-06-01 16:48:10 · 64 阅读 · 0 评论 -
61. 旋转链表
k 是 55 的整数倍:链表不会发生位置变化。kk 不是 55 的整数倍:实际移动位数是 k\%5k%5 的值。原创 2021-06-01 16:22:18 · 60 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?原创 2021-06-01 15:56:55 · 108 阅读 · 0 评论 -
237. 删除链表中的节点
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。原创 2021-06-01 15:42:59 · 104 阅读 · 0 评论 -
203. 移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。class Solution { public ListNode removeElements(ListNode head, int val) { /** 我比较喜欢添加一个虚拟节点进行删除,这样可以不用考虑要删除的是不是头结点 添加的那个虚拟节点是-1 放在第一个 他...原创 2021-06-01 15:35:27 · 57 阅读 · 0 评论