例题-链表中环的入口节点 发表于 2021-04-14 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 890 阅读时长 ≈ 1 分钟 题目描述给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null 原理 如上图所示为模拟的一个链表环。 阅读全文 »
例题-两个链表的第一个公共节点 发表于 2021-04-14 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 1.1k 阅读时长 ≈ 1 分钟 题目描述输入两个链表,找出它们的第一个公共结点 原理因为拥有一个共同节点,所以先遍历两个链表得到他们的长度,就能知道哪个链表比较长,以及长的链表比短的链表多几个结点(diff,如果一样长则diff为0)。在第二次遍历的时候,在较长的链表上先走若干(diff)步,接着同时在两个链表上遍历,找到的第一个相同的结点就是他们的第一个公共结点 代码实现 阅读全文 »
例题-合并两个有序链表 发表于 2021-04-14 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 852 阅读时长 ≈ 1 分钟 题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则 原理通过递归: A和B两个链表,每次比较A当前节点和B当前节点,如果A.val < B.val,就保留A的前节点,然后用l1的下一个节点开始的集合和B做合并,合并好的结果保存到nHead,这样即能保证小的节点排在前面,又能保证节点能串接在一起成为个大集合反之,B.val < A.val也一样,先保留B当前节点,然后用B的下一个节点开始的集合和A合并,合并结果保存到B的下一个节点 阅读全文 »
例题-反转链表 发表于 2021-04-14 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 634 阅读时长 ≈ 1 分钟 题目描述输入一个链表,反转链表后,输出新链表的表头 原理 假设正在对结点v进行反转操作,即原来结点u的next域指向v(图中已经调整完毕,现在指向前一个结点),v的next域指向w。现在要做的是将v的next域指向u。从图中我们可以看出,当把v的next指针指向u的同时,原先指向的w就已经无法被正常的访问到了,为了避免“断链”,我们必须在指针更改指向之前,保存修改结点的下一结点 阅读全文 »
数据结构-链表 发表于 2021-04-14 更新于 2023-05-16 分类于 数据结构 阅读次数: Valine: 本文字数: 533 阅读时长 ≈ 1 分钟 简介链表是一种物理存储上非连续、非顺序的存储结构,其元素的逻辑顺序是通过链表中的指针链接次序实现的。 特点链表的一个节点通常有两个元素:数据域和指针域 数据域:存放数据 指针域:存放下一个节点的地址 阅读全文 »
例题-两个队列实现一个栈 发表于 2021-04-14 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 873 阅读时长 ≈ 1 分钟 题目描述使用两个队列实现一个栈,包含入栈push()和出栈pop()操作 原理将队列A作为当前容器,队列B不管,当入栈push()操作时,全部入队到A,而当A不为空且需要出栈pop()时,将A的前n-1个元素出队到B队列里,如图 阅读全文 »
数据结构-队列 发表于 2021-04-14 更新于 2023-05-16 分类于 数据结构 阅读次数: Valine: 本文字数: 4.7k 阅读时长 ≈ 4 分钟 简介 队列是一种特殊的线性存储结构 特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头 特点 队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构 在队尾添加元素,在队头删除元素 队列的相关概念 阅读全文 »
每日一练-2022-2-6 发表于 2021-02-06 更新于 2023-05-16 分类于 例题 阅读次数: Valine: 本文字数: 449 阅读时长 ≈ 1 分钟 描述来源:牛客-选择题 以下程序片段输出什么内容: 123456789101112131415161718192021#include <iostream>using namespace std; class Demo {public: Demo() :count(0) {} ~Demo() {} void say(const string& msg) { fprintf(stderr, "%s\n", msg.c_str()); }private: int count;}; int main(int argc, char** argv){ Demo* v = NULL; v->say("hello world");} A. 运行错误 阅读全文 »
Composer-安装 发表于 2020-12-30 更新于 2023-05-16 分类于 Composer 阅读次数: Valine: 本文字数: 261 阅读时长 ≈ 1 分钟 官网下载直达 phar下载直达 无法安装可将composer.phar放入php.exe同级文件夹并新建composer.bat内容为@php "%~dp0composer.phar" %* 阅读全文 »