自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 243.回文链表

给你一个单链表的头节点。,请你判断该链表是否为。

2024-04-06 14:35:35 397 2

原创 876.链表的中间结点 143.重排链表

该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。目标链表即为将原链表的左半端和反转后的右半端合并后的结果。1.找到原链表的中点(参考876.链表的中间结点)2.将原链表的右半段反转(参考206.反转链表)如果有两个中间结点,则返回第二个中间结点。思路:寻找链表中点+链表逆序+合并链表。,请你找出并返回链表的中间结点。链表只有一个中间结点,值为 3。3.将原链表的两端合并。

2024-04-06 13:56:36 315

原创 141.环形链表 142.环形链表II

假想「乌龟」和「兔子」在链表上移动,「兔子」跑得快,「乌龟」跑得慢。当「乌龟」和「兔子」从链表上的同一个节点开始移动时,如果该链表中没有环,那么「兔子」将一直处于「乌龟」的前方;如果该链表中有环,那么「兔子」会先于「乌龟」进入环,并且一直在环内移动。等到「乌龟」进入环时,由于「兔子」的速度快,它一定会在某个时刻与乌龟相遇,即套了「乌龟」若干圈。这样一来,如果在移动的过程中,快指针反过来追上慢指针,就说明该链表为环形链表。否则快指针将到达链表尾部,该链表不为环形链表。链表中有一个环,其尾部连接到第一个节点。

2024-03-29 22:18:10 433

原创 86.分隔链表

两个分区中每个节点的初始相对位置。,请你对链表进行分隔,使得所有。给你一个链表的头节点。

2024-03-27 22:55:48 218

原创 61.旋转链表

具体代码中,我们首先计算出链表的长度 n,并找到该链表的末尾节点,将其与头节点相连。然后我们找到新链表的最后一个节点(即原链表的第 (n−1)−(k mod n)个节点),将当前闭合为环的链表断开,即可得到我们所需要的结果。这样我们可以知道,新链表的最后一个节点为原链表的第 (n−1)−(k mod n)个节点(从 0开始计数)。特别地,当链表长度不大于 1,或者 k为 n的倍数时,新链表将与原链表相同,我们无需进行任何处理。这样,我们可以先将给定的链表连接成环,然后将指定位置断开。给你一个链表的头节点。

2024-03-26 22:59:54 207

原创 24.两两交换链表中的节点

如果 pre的后面没有节点或者只有一个节点,则没有更多的节点需要交换,因此结束交换。否则,获得 pre 后面的两个节点 cur和 later,通过更新节点的指针关系实现两两交换节点。具体而言,交换之前的节点关系是 pre -> cur -> later,交换之后的节点关系要变成 pre -> later-> cur,因此需要进行如下操作。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。两两交换链表中的节点之后,新的链表的头节点是 list->next,返回新的链表的头节点即可。

2024-03-25 23:48:38 353

原创 19.删除链表的倒数第N个结点 92.反转链表II

首先从头节点开始对链表进行一次遍历,得到链表的长度 L。随后我们再从头节点开始对链表进行一次遍历,当遍历到第 L−n+1个节点时,它就是我们需要删除的节点。因为头节点有可能发生变化,使用虚拟头节点可以避免复杂的分类讨论;从 1 到 left , pre 节点往后移动;给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。pre和cur节点不变。

2024-03-24 22:32:38 267

原创 82.删除排序链表中的重复元素II

删除原始链表中所有重复数字的节点,只留下不同的数字。给定一个已排序的链表的头。

2024-03-21 22:47:12 216

原创 206.翻转链表

在插入时,新的结点插入到当前链表的表头。,请你反转链表,并返回反转后的链表。

2024-03-20 22:45:18 185

原创 203.移除链表元素

所以头结点如何移除呢,其实只要将头结点向后移动一位就可以,这样就从链表中移除了一个头结点。然后将原头结点从内存中删掉。这样原链表的所有节点就都可以按照统一的方式进行移除了。,请你删除链表中所有满足。给你一个链表的头节点。

2024-03-19 23:31:29 305

原创 合并两个有序链表,删除排序列表中的重复元素

新链表是通过拼接给定的两个链表的所有节点组成的。删除所有重复的元素,使每个元素只出现一次。两个升序链表合并为一个新的。给定一个已排序的链表的头。

2024-03-17 23:17:18 474

原创 KiKi求质数个数,反向输出一个四位数

KiKi知道了什么是质数(只能被1和他自身整除的数),他现在想知道所有三位整数中,有多少个质数。一行,输入一个整数n(1000 <= n <= 9999)。一行,一个整数,表示所有三位整数中,有多少个质数。针对每组输入,反向输出对应四位数。将一个四位数,反向输出。

2024-02-27 22:30:50 423

原创 动态内存管理

当是情况2 的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找⼀个合适大小的连续空间来使用,同时会把旧的数据拷贝到新的新空间,然后释放旧的空间。当是情况1 的时候,要扩展内存就直接原有内存之后直接追加空间,原来空间的数据不发生变化。这个函数调整原内存空间大小的基础上,还会将原来内存中的数据移动到新的空间。指向的空间不是动态开辟的,那free函数的行为是未定义的。的元素开辟⼀块空间,并且把空间的每个字节初始化为0。在已经开辟好的空间后边,有足够的空间,直接进行扩大。

2024-02-27 22:30:19 931

原创 枚举,#define,C中程序内存区域划分

枚举顾名思义就是⼀⼀列举。把可能的取值⼀⼀列举。比如我们现实生活中:⼀周的星期⼀到星期日是有限的7天,可以⼀⼀列举性别有:男、女、保密,也可以⼀⼀列举月份有12个月,也可以⼀⼀列举三原色,也是可以意义列举这些数据的表示就可以使用枚举了。

2024-02-16 21:12:38 449

原创 结构体详解

结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如:标量、数组、指针,甚至是其他结构体。

2024-02-16 11:41:06 471

原创 字符函数和字符串函数

比较str1和str2的前num个字符,如果相等就继续往后比较,最多比较num个字母,如果提前发现不⼀样,就提前结束,大的字符所在的字符串大于另外⼀个。strtok函数的第⼀个参数不为NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置。strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串⼀般都是临时拷贝的内容并且可修改。第⼀个参数指定⼀个字符串,它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标记。如果字符串中不存在更多的标记,则返回。

2024-02-15 08:38:59 883 1

原创 判断闰年,判断字母,牛牛的二三七整除,牛牛的快递

牛牛正在寄快递,他了解到快递在 1kg 以内的按起步价 20 元计算,超出部分按每 kg 1元计算,不足 1kg 部分按 1kg计算。第一行输入一个单精度浮点数 a 和一个字符 b ,a 表示牛牛要寄的快递的重量,b表示牛牛是否选择加急,'y' 表示加急 ,'n' 表示不加急。函数,才是我们需要的四舍五入的函数,因为它会返回离自变量最近的整数,这个返回的整数可能大于也可能小于原来的数,但是一定是离它最近的那个整数。会取不大于自变量的最大整数,这样自变量是3.1或3.9是没有区别的,返回都是3;

2024-02-08 11:29:36 753

原创 深入理解指针(4)——sizeof和strlen的对比

sizeof 计算变量所占内存内存空间⼤⼩的,单位是字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。统计的是从 strlen 函数的参数 str 中这个地址开始向后, \0 之前字符串中字符的个数。3. 关注内存中是否有 \0 ,如果没有 \0 ,就会持续往后找,可能会越界。2. srtlen是求字符串⻓度的,统计的是 \0 之前字符的隔个数。sizeof 只关注占⽤内存空间的⼤⼩,不在乎内存中存放什么数据。2. sizeof计算操作数所占内存的⼤⼩,单位是字节。

2024-02-07 11:17:09 354 1

原创 2的n次方计算,小乐乐与欧几里得,小乐乐改数字,牛牛的水杯

小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。牛牛口渴了,要喝10升水才能解渴,但现在只有一个深 h 厘米,底面半径是 r 厘米的水杯,牛牛最少要喝多少杯水才能解渴。水杯的体积公式是 �×ℎ×�2 π×h×r2 ,其中 � π 取 3.14 ,ℎ h 和 � r 是整数。对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。不使用累计乘法的基础上,通过移位运算(<<)实现2的n次方的计算。

2024-02-07 10:53:51 431 1

原创 深入理解指针(3)

代码 const char* pstr = "hello bit";本质是把字符串hello bit⾸字符的地址放到了pstr中。把⼀个常量字符串的⾸字符h的地址存放到指针变量pstr中。这⾥str3和str4指向的是⼀个同⼀个常量字符串。C/C++会把常量字符串存储到单独的⼀个内存区域,当⼏个指针指向同⼀个字符串的时候,他们实际会指向同⼀块内存。但是⽤相同的常量字符串去初始化不同的数组的时候就会开辟出不同的内存块。所以str1和str2不同,str3和str4相同。

2024-02-05 10:20:24 1602 1

原创 深入理解指针(2)

⼀维数组传参,形参的部分可以写成数组的形式,也可以写成指针的形式。

2024-02-04 09:38:03 828 1

原创 进制转换,牛牛的空格分隔,牛牛的对齐,进制A+B

我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六。十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。牛牛从键盘读入一个字符,一个整数,一个单精度浮点数,按顺序输出它们,并用空格分隔,浮点数保留 6 位小数。一行,一个十六进制数a,和一个八进制数b,中间间隔一个空格。读入一个字符,一个整数,一个单精度浮点数用换行符隔开,

2024-01-21 21:34:47 398 1

原创 参数传递(传值,传址)

参数传递有两种形式:(1)传值方式(参数为整型、实型、字符型等)(2)(参数为指针变量、引用类型、数组名)

2024-01-16 11:28:08 439 1

原创 字符串旋转结果,杨辉三角形,猜凶手,杨氏矩阵

字符串旋转结果,杨辉三角形,猜凶手,杨氏矩阵

2024-01-12 18:25:17 1002

原创 深入理解指针(1)

指针详解!!!简单易懂

2024-01-11 21:35:17 1021

原创 常用排序算法(冒泡,选择,插入,快排)

常用排序算法!详解!简单易懂!算法优化!逻辑清晰!

2023-12-05 21:52:02 893 1

原创 const修饰指针变量

例子详解,const在指针变量左右变化!

2023-12-03 23:27:05 461 1

原创 汉诺塔问题

Hanio详解!!!递归函数。简单易懂!!!

2023-11-21 13:54:21 204 1

原创 青蛙跳台阶问题

函数递归典型习题,简单易懂!!!青蛙跳台阶,斐波那契数列。

2023-11-20 22:19:05 232 1

原创 VS实⽤调试技巧

简单易懂,史上最全VS实⽤调试技巧!

2023-11-17 22:04:21 157 1

原创 C语言之三大循环详解

(超详细!!!)C语言之三大循环详解

2023-10-23 22:23:56 142

原创 数据结构之循环队列队空队满判断

简单易懂----数据结构之循环队列队空队满判断

2023-10-21 17:22:18 3157

原创 C语言之printf详解

C语言之printf详解

2023-10-20 14:19:53 122 1

原创 C语言之scanf详解

C语言之scanf详解

2023-10-17 14:37:07 4152

原创 C学习之路计划

C语言自学计划 考研

2023-10-14 10:46:08 209 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除