Problem: 两个单链表相交的一系列问题 【题目】 在本题中,单链表可能有环,也可能无环。给定两个 单链表的头节点 head1和head2,这两个链表可能相交,也可能 不相交。请实现一个函数, 如果两个链表相交,请返回相交的 第一个节点;如果不相交,返回null 即可。 要求: 如果链表1 的长 ...
分类:
其他好文 时间:
2019-06-08 01:02:15
阅读次数:
92
Problem: 【题目】 给定一个单向链表的头节点head,节点的值类型是整型,再给定一个整数pivot。 实现一个调整链表的函数,将链表调整为左部分都是值小于 pivot的节点, 中间部分都是值等于pivot的节点,右部分都是值大于 pivot的节点。 除这个要求外,对调整后的节点顺序没有更多的 ...
分类:
其他好文 时间:
2019-06-07 23:18:33
阅读次数:
263
链表(Linked List)介绍 链表是有序的列表,但是它在内存中是存储如下 1)链表是以节点方式存储的,是链式存储 2)每个节点包含data域(value),next域,指向下一个节点 3)各个节点不一定连续存储,如上图 4)链表分 带头节点的链表和 不带头节点的链表,根据实际需求确定 单链表介 ...
分类:
其他好文 时间:
2019-06-02 01:01:38
阅读次数:
95
题意 给定非递减循环链表的头节点,和一个待插入的值,将其插入循环链表。 题解 遍历一遍,找到插入位置则返回;若没找到,说明插到头节点尾节点间,注意区分插入的是最大值还是最小值,返回的头节点不一样。 代码 public class Main { public static void main(Stri ...
分类:
其他好文 时间:
2019-06-02 00:54:48
阅读次数:
112
题意 给定一个无序单链表的头节点head,实现单链表的选择排序。 题解 按选择排序方法:每次从原链表找出最小值,从原链表删除,插入新的有序链表。 时间复杂度O(n^2) 额外空间复杂度O(1) 代码 public class Main { public static void main(String ...
分类:
编程语言 时间:
2019-05-31 23:43:19
阅读次数:
150
问题描述 Node类中的value是节点值,next指针和正常单链表中next指针的意义一样,都指向下一个节点,rand指针是Node类中新增的指针,这个指针可能指向链表中的任意一个节点,也可能指向null。 给定一个由Node节点类型组成的无环单链表的头节点head,请实现一个函数完成这个链表中所 ...
分类:
其他好文 时间:
2019-05-20 01:11:48
阅读次数:
105
心得:反转链表加强版,加头节点简化操作,然后写一个方法调用 反转链表,注意next的操作,边界条件!! 代码: ...
分类:
其他好文 时间:
2019-05-19 13:56:30
阅读次数:
91
【题目】 平衡二叉树的性质为:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过1。给定一棵二叉树的头节点head,判断这棵二叉树是否为平衡二叉树 【要求】 如果二叉树的节点数为N,要求时间复杂度为O(N) 【分析】 平衡二叉树要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超 ...
分类:
其他好文 时间:
2019-05-18 14:02:20
阅读次数:
133
心得:链表问题加头指针,头指针要加一个引用(两个引用:一个用来遍历,另一个输出头节点,注意head.next) 输出完要将后面没有添加上的节点添加上。 代码: ...
分类:
其他好文 时间:
2019-05-16 20:23:56
阅读次数:
141
leecode刷题(23) 合并两个有序链表 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 思路: 这道题我们可以用递归的方法来处理。首先我们可以设置一个临时头节点 head,当链表 l1 和链表 l2 不为空时,对它们进行比 ...
分类:
其他好文 时间:
2019-05-04 12:05:58
阅读次数:
99