Problem: 两个单链表相交的一系列问题 【题目】 在本题中,单链表可能有环,也可能无环。给定两个 单链表的头节点 head1和head2,这两个链表可能相交,也可能 不相交。请实现一个函数, 如果两个链表相交,请返回相交的 第一个节点;如果不相交,返回null 即可。 要求: 如果链表1 的长 ...
分类:
其他好文 时间:
2019-06-08 01:02:15
阅读次数:
92
Problem: 反转单向和双向链表 【题目】 分别实现反转单向链表和反转双向链表的函数。 【要求】 如果链表长度为N,时间复杂度要求为O(N),额外空间 复杂度要求为O(1) Solution: 学会使用指针 Code: ...
分类:
其他好文 时间:
2019-06-07 23:11:22
阅读次数:
124
//创建单链表 #include <stdio.h>#include <string.h>#include <stdlib.h>typedef struct Student STU; //用typedef 新定义结构体名字为 STU;struct Student //定义时不能直接用STU{ cha ...
分类:
编程语言 时间:
2019-06-07 21:13:44
阅读次数:
109
数据结构之链表(LinkedList)(二) 环形链表 顾名思义 环形列表是一个首尾相连的环形链表 示意图 循环链表的特点是无须增加存储量,仅对表的链接方式稍作改变,即可使得表处理更加方便灵活。 看一样著名的应用场景 我们就可以用环形单链表解决这个问题。 首先我们怎么构建一个环形链表 分析: 1. ...
分类:
其他好文 时间:
2019-06-06 00:27:20
阅读次数:
113
单链表的操作 1、is_empty()链表是否为空 2、length()链表的长度 3、add()链表的头部添加元素 4、append()链表尾部添加元素 5、insert()指定位置添加元素 6、remove()删除节点 7、search()查找链表是否存在 源代码 class Node(): " ...
分类:
编程语言 时间:
2019-06-05 15:18:23
阅读次数:
145
题意 把链表分成左右半区,奇数个节点则右半区长一点,重新交叉排列成链表,如下例: 1,2,3,4,5, = 1,3,2,4,5, 1,2,3,4, = 1,3,2,4, 题解 找到分割点,拆开再合并。 代码 ...
分类:
其他好文 时间:
2019-06-02 01:22:37
阅读次数:
93
链表(Linked List)介绍 链表是有序的列表,但是它在内存中是存储如下 1)链表是以节点方式存储的,是链式存储 2)每个节点包含data域(value),next域,指向下一个节点 3)各个节点不一定连续存储,如上图 4)链表分 带头节点的链表和 不带头节点的链表,根据实际需求确定 单链表介 ...
分类:
其他好文 时间:
2019-06-02 01:01:38
阅读次数:
95
单链表,创建单链表函数出了点问题导致程序报错。。 ...
分类:
其他好文 时间:
2019-06-01 23:17:00
阅读次数:
115
一.内存 1.基本概念 二.顺序表 1.单数据类型 2.多类型数据结构 三.单链表 1.基本操作 2.代码结构 ...
分类:
其他好文 时间:
2019-06-01 19:39:27
阅读次数:
99
题意 给定一个无序单链表的头节点head,实现单链表的选择排序。 题解 按选择排序方法:每次从原链表找出最小值,从原链表删除,插入新的有序链表。 时间复杂度O(n^2) 额外空间复杂度O(1) 代码 public class Main { public static void main(String ...
分类:
编程语言 时间:
2019-05-31 23:43:19
阅读次数:
150