此题设快慢两个指针,先判断是否有环:如果为环快慢指针终会相遇; 找入口节点:快慢指针相遇的节点到入口节点的距离,与从头节点开始新的慢指针到相遇点的距离相同。 可画图演示。因为快指针是慢指针的两倍速,且他们在q点相遇,则我们可以得到等式 2(A+B) = A+B+C+B.得出C=A function ...
分类:
其他好文 时间:
2020-03-03 10:54:48
阅读次数:
61
【不定时更新,赶论文,赶项目,1月~2月做题记录还在整理,自我训练】 反转链表 链接:https://leetcode cn.com/problems/reverse linked list/ 类名: 考察点:链表、迭代、递归 解题过程: 力扣3月每日1题,题解链接: https://leetcod ...
分类:
其他好文 时间:
2020-03-03 00:58:58
阅读次数:
87
1、回文链表
2、旋转链表
3、链表求和
4、环形链表
5、反转链表
6、链表的中间结点
7、相交链表
8、删除排序链表中的重复元素
9、删除链表中倒数第N个结点
10、两两交换链表中的结点 ...
分类:
其他好文 时间:
2020-03-03 00:32:28
阅读次数:
71
都说 程序设计 = 算法 + 数据结构 。数据结构是挨踢必修课,不过好像学了数据结构之后也没用来做过啥。不知道做啥,就写个软件定时器。 软件定时器数据结构 判断软件定时器链表是否为空 插入定时器到软件定时器链表 链表使用 单向链表 。 将定时器从软件定时器链表移除 初始化软件定时器 回调函数不能过长 ...
分类:
编程语言 时间:
2020-03-02 00:54:55
阅读次数:
101
一、Array 1.数组 2.动态数组 3.数组实现队列 4.数组实现循环队列 5..数组实现栈 复杂度分析: 二、LinkedList 1.链表 2.链表实现队列 3.链表实现栈 复杂度分析: 三、BinaryTree 1.二叉树 复杂度分析: 四、Set 1.链表实现集合 2.二叉树实现集合 复 ...
分类:
其他好文 时间:
2020-02-28 14:09:17
阅读次数:
60
链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ 代码: /** * Definition for singly-linked list. * struct ListNode { * int ...
分类:
编程语言 时间:
2020-02-24 18:35:13
阅读次数:
72
####################################################### """ # 线性表是最基本的数据结构之一,在实际程序中应用非常广泛,它还经常被用作更复杂的数据结构的实现基础。 # 根据线性表的实际存储方式,分为两种实现模型: # 顺序表, # 链表, ...
分类:
编程语言 时间:
2020-02-23 09:41:46
阅读次数:
71
链表不能像数组一样直接进行随机读取,只能从头结点开始打印链表。 题解:要求从尾到头打印链表,那么首先就是要找到链表的整体长度,通过长度创建数组,然后将链表的第一个节点的值放入数组的最后一个位置,最后的数组正序的值就是链表倒叙的值。 分析:整个题目中会对链表进行两次遍历,需要的额外空间就是链表的长度, ...
分类:
其他好文 时间:
2020-02-21 12:35:44
阅读次数:
69
链表一般分为两种:1)单链表 2)双链表,二者是及其相似的,但双链表有两个指针 1.单链表: //数组模拟链表(快) #include <iostream> #include <cstdio> #include <cstring> #include <string.h> #include <math ...
分类:
其他好文 时间:
2020-02-17 16:04:37
阅读次数:
81
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节 ...
分类:
其他好文 时间:
2020-02-15 20:38:00
阅读次数:
64