![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
某个不会写代码的小傻逼。
这个作者很懒,什么都没留下…
展开
-
Believing Process 力扣Hot148.排序链表
题干:给你链表的头结点head,请将其按 升序 排列并返回 排序后的链表 。示例 1:输入:head = [4,2,1,3]输出:[1,2,3,4] public static ListNode sortList(ListNode head) { if(head==null||head.next==null) return head; ListNode fast = head; ListNode slow = head; ...原创 2022-01-12 10:32:55 · 369 阅读 · 0 评论 -
Believing Process 剑指 Offer 36. 二叉搜索树与双向链表
题干:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。class Solution { Node head,pre; public Node treeToDoublyList(Node root) { if(root==null) return root; dfs(root); head.left = pre; pre.right = head.原创 2021-11-08 16:22:05 · 94 阅读 · 0 评论 -
Believing Process 力扣328.奇偶链表
题干:给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例:输入: 1->2->3->4->5->NULL输出: 1->3->5->2->4->NULLpublic class 奇偶链表 { public s.原创 2021-08-02 16:19:43 · 98 阅读 · 0 评论 -
Believing Process 力扣725.分隔链表
题干:给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 null。这k个部分应该按照在链表中出现的顺序进行输出,并且排在前面的部分的长度应该大于或等于后面的长度。返回一个符合上述规则的链表的列表。举例: 1->2->3->4, k = 5 // 5 结果 [ [1], [2], [3], [4], null ]示例:输入:root =..原创 2021-08-02 15:37:35 · 142 阅读 · 0 评论 -
Believing Process 力扣19.删除链表的倒数第N个结点
题干:给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]public class 删除链表的倒数第N个节点 { public static void main(String[] args) { int[] nums = {1}; int n = 1; ListNode head = cr...原创 2021-07-29 16:27:04 · 104 阅读 · 0 评论 -
Believing Process 力扣21.合并两个有序链表
题干:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]public class 合并两个有序链表 { public static void main(String[] args) { int[] l1 = {1,2,4}; int[] l2 = {1,3,4}; ListNode l...原创 2021-07-28 17:17:06 · 111 阅读 · 0 评论 -
Believing Process 力扣206.反转链表
题干:给你单链表的头节点head,请你反转链表,并返回反转后的链表。示例:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]public class 反转链表 { public static void main(String[] args) { int[] value ={1,2,3,4,5}; ListNode head = new ListNode(); ListNode point = head;...原创 2021-07-28 16:26:30 · 112 阅读 · 0 评论