福哥答案2020-11-03: 1.输入链表头节点,奇数长度返回中点,偶数长度返回上中点 。1.1.快慢指针。1.2.单指针。1.3.数组。2.输入链表头节点,奇数长度返回中点,偶数长度返回下中点 。这道题是leetcode上的第876道题,叫【链表的中间节点】。2.1.快慢指针。2.2.单指针。2 ...
分类:
其他好文 时间:
2020-11-04 18:35:12
阅读次数:
18
树是什么 ? 线性结构中,一个节点至多只有一个头节点,至多只有一个尾节点,彼此连接起来是一条完整的线。 比如链表和数组; ? 而树,非线性结构的典型例子,不再是一对一,而变成了一对多(而图则可以是 多对多),树如下图所示: 基本概念 如下图: 根节点 :A 父节点 : A是B、C的父节点;B是D、E ...
分类:
其他好文 时间:
2020-11-01 21:13:47
阅读次数:
13
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 反转:从头到尾将链表打印到数组中,返回反转后的结果即可。 class Solution: def reversePrint(self, head): res = [] while head: res.append(head.val ...
分类:
其他好文 时间:
2020-09-07 19:13:25
阅读次数:
35
/** * @author ZhiYi Li * @create 2020/8/25 11:37 * 带头节点的单链表 * 头节点不存放数据 */ //管理单链表 class SingleLinkedList { //初始化一个头节点 private final HeroNode head = ne ...
分类:
编程语言 时间:
2020-08-31 13:22:17
阅读次数:
45
题目描述:
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。
解题思路:
我们可以用迭代的方法来实现上述算法。当 l1 和 l2 都不是空链表时,判断 l1 和 l2 哪一个链表的头节点的值更小,将较小值的节点添加到结果里,当一个节点被添加到结果里之后,将... ...
分类:
其他好文 时间:
2020-08-26 18:35:46
阅读次数:
51
链式表: 元素的数据项: 数据域:可以是各种类型的若干个数据项 指针域:指向下一元素 由若干个元素通过指针域连接在一起形成链式表。 不带头节点:第一个元素的数据域存储的就是有效的数据。 插入删除时可以会修改头节点指针,参数需要使用二维指针。 同时需要获取到上一个节点的指针,而头节点没有上一个节点,因 ...
分类:
其他好文 时间:
2020-08-07 00:30:13
阅读次数:
192
##题目: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 **示例 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL ###方式一: 迭代法(头插法): 画图分析:设置一个前节点为null,再用临时变量保存当前节点的下一个节点 ...
分类:
其他好文 时间:
2020-07-29 14:40:11
阅读次数:
54
1,单链表分为带头结点和不带头结点,带头节点的好处,只有实际写代码后才能体会出来。可以类比顺序表中的哨兵 好处: 1,第1个位置的插入、删除更加方便,带来操作上的统一。 2,对于头插法: 不带头结点的链表,插入第一个结点时,需要特殊处理,删除操作类似. 3,优势2:统一空表和非空表的处理 举例:无头 ...
分类:
其他好文 时间:
2020-07-24 16:29:50
阅读次数:
59
此博客链接: 题目链接: 反转链表 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL 题解: 思路: 1.创建一个头节点,使用new ListNode()创建一个新节点数据域 ...
分类:
其他好文 时间:
2020-07-22 20:14:51
阅读次数:
57
单链表介绍 单链表(带头结点)逻辑结构示意图如下: 链表是有序的列表,但是它在内存中是存储如下所示(真实存储结构): (1)链表是以节点的方式来存储 (2)每个节点包含data域,next域:指向下一个节点。 (3)如图:发现链表的各个节点不一定是连续存储。 (4)链表分带头节点的链表和没有头节点的 ...
分类:
其他好文 时间:
2020-07-22 20:09:13
阅读次数:
69