- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 LeetCode61(力扣61)旋转链表 C++详细
61.旋转链表题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4->5->1->2->3->NULL示例 2:输入: 0-&g
2021-01-18 18:58:35 494
原创 删除链表的倒数第k个节点(C++)详细
删除链表的倒数第k个节点思想及算法因为要删除倒数第k个节点,因此要知道是的正序的第几个,所以可以先遍历一遍链表获得链表的长度。代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x) :val(x), next(nullptr) {}};list* insert(list* head, int x) { list* p = head; while (
2021-01-17 16:42:23 543
原创 逆置/反转单链表(C++)详细
逆置/反转单链表遗留的问题:我想新创建一个链表来实现单链表的反转,目前还没有实现出来思想及算法代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x):val(x),next(nullptr){}};list* insert(list* head,int x) { list* p = head; while (p->next) {
2021-01-17 16:11:48 549
原创 在无头单链表的一个节点前插入一个节点(不能遍历链表) (C++)详细
算法思想代码#include<iostream>using namespace std;struct list{ int val; list* next; list(int x):val(x),next(nullptr){}};list* insert(list* head,int x) { list* p = head; while (p->next) { p = p->next; } list* t = new list(x); p-
2021-01-16 21:28:40 386
原创 删除一个无头单链表的非尾节点(不能遍历链表) (C++)详细
删除一个无头单链表的非尾节点(不能遍历链表)疑问:为什么要说明是无头单链表?——因为如果是带有头节点的单链表,假设要删除的是第一个节点,头节点是没有数据域的只有指针域,因此要想使用以下的方法就不能实现。算法思想我的代码#include<iostream>using namespace std;struct list{ int val; list* next; list(int x) :val(x), next(nullptr){}};list* insert
2021-01-16 20:46:02 194
原创 查找链表的中间节点,只能遍历一次数组(C++)详细
查找链表的中间节点,只能遍历一次数组方法及思想因为要求只能遍历一次链表,那么我们就可以边遍历边查找中间的节点。每遍历一步,就找一次中间节点,然后移动只想中间节点的指针。此处借助链表的长度来实现这个解法,我假设在链表长度为偶数时,中间节点为length/2取下取整(参考二分法)代码#include<iostream>using namespace std;struct list { int val; list* next; list(int x) :val(x), next(
2021-01-15 18:15:21 302
原创 从尾到头打印单链表(C++)详细
1.从尾到头打印单链表遗留的问题:在递归反向打印时,尾巴的->怎么处理掉?方法及思想:正序打印方法一:正序遍历,若当前节点的下一个节点不为nullptr(p->next!=nullptr),那么p继续往后移。直到移到最后一个节点为止方法二:使用递归,直到递归语句return中head传为head->next(此时在最后一次递归时,虽然下一个为空但是我们不知道,我们还会继续对其head->next),因此结束条件是:head==nullptr。注意cout输出语句的顺序
2021-01-15 18:07:55 1831
原创 CentOS8.3安装时报错: DFN error:Error in POSTTRANS scriptlet in rpm package kernel-core
CentOS8.3安装时报错:DFN error:Error in POSTTRANS scriptlet in rpm package kernel-core解决办法:重新安装,在手动分区时,将/boot设置为300MB
2021-01-13 21:05:02 5595 6
软考思维导图.xmind
2020-12-03
8051单片机Proteus仿真丁字路口交通灯
2020-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人