实例
文章平均质量分 64
题目详解
李斯啦果
晒晒太阳,吹吹风
展开
-
【leetcode】232. 用栈实现队列
【leetcode】232. 用栈实现队列:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:void push(int x) 将元素 x 推到队列的末尾;int pop() 从队列的开头移除并返回元素;int peek() 返回队列开头的元素;boolean empty() 如果队列为空,返回 true ;否则,返回 false原创 2023-08-18 16:58:26 · 345 阅读 · 1 评论 -
【leetcode】225.用队列实现栈
【leetcode】225.用队列实现栈:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。原创 2023-08-18 15:10:55 · 164 阅读 · 0 评论 -
【leetcode】138.复制带随机指针的链表
【leetcode】138.复制带随机指针的链表:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点原创 2023-08-02 22:53:45 · 375 阅读 · 0 评论 -
【牛客】CM11链表分割
牛客网CM11 链表分割:现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。原创 2023-07-28 11:49:38 · 99 阅读 · 0 评论 -
【leetcode】160.相交链表
【leetcode】160.相交链表:给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。原创 2023-08-01 12:05:15 · 176 阅读 · 0 评论 -
【牛客网】链表的回文结构
链表的回文结构:对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。给定一个链表的头指针A,请返回一个bool值,代表其是否为回文结构。保证链表长度小于等于900。原创 2023-07-28 15:10:56 · 110 阅读 · 0 评论 -
【leetcode】链表的中间节点|链表中倒数第k个节点
链表的中间节点:给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。链表中倒数第k个节点:输入一个链表,输出该链表中倒数第k个结点。原创 2023-07-26 15:18:59 · 190 阅读 · 0 评论 -
【leetcode】206.反转链表
给你单链表的头节点head,请你反转链表,并返回反转后的链表。每一次反转都使n2和n1之间的指针关系反转,因此当n2指向尾节点时,n1指向尾节点的前一个节点,此次反转便是最后一次指针关系的反转,迭代后n2==NULL,所有反转结束,因此。综上,我们需要三个指针,分别指向当前节点(n2),当前节点的前一个节点(n1)以及当前的节点的后一个节点(n3),,因为原链表可能为空链表,cur->next就会造成空指针的访问原创 2023-07-26 13:54:59 · 151 阅读 · 0 评论 -
【leetcode】203. 移除链表元素
【leetcode】203. 移除链表元素:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回新的头节点 。带哨兵头节点的链表【leetcode】21. 合并两个有序链表:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2023-07-24 11:07:39 · 105 阅读 · 0 评论 -
【leetcode】189.轮转数组
轮转数组原创 2023-06-12 09:23:29 · 161 阅读 · 0 评论 -
【leetcode】141.环形链表
【leetcode】141.环形链表:给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。如果链表中存在环 ,则返回 true 。 否则,返回 false 。【leetcode】142.环形链表II:给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。原创 2023-08-01 18:52:41 · 406 阅读 · 0 评论 -
【C语言】通讯录的实现(动态版本)
静态版本的通讯录需要检查通讯录是否到达通讯录的最大容量,动态版本的通讯录需要在每次添加联系人后都检查通讯录的容量,一旦实际联系人的个数达到通讯录的容量,就应当进行扩容,我们可以把检查容量及扩容的操作封装成一个CheckCapacity函数。但是静态版本的通讯录存在局限性:一旦通讯录创建,其大小就固定了,我们需要存入通讯录中的人数是未知的,如果通讯录创建太大,可能造成空间的浪费;基本思路:默认通讯录的初始容量为存放3个联系人的空间,进行存储,一旦发现存满之后就进行通讯录扩容,每次增加2个联系人的空间。原创 2023-04-22 00:01:43 · 50 阅读 · 0 评论 -
【C语言】通讯录的实现(文件版本)
把文件中的信息加载到通讯录中这一步添加到通讯录初始化函数中即可。2️⃣在通讯录打开的时候,可以把文件中的信息加载到通讯录中。1️⃣ 在退出通讯录的时候把信息到保存到文件中。把文件中的信息加载到通讯录中。把信息到保存到文件中。原创 2023-05-15 17:45:13 · 62 阅读 · 0 评论 -
【C语言】宏实现一个整数的二进制位的奇数位和偶数位交换
写一个宏,可以将一个整数的二进制位的奇数位和偶数位交换原创 2023-05-15 16:27:19 · 706 阅读 · 1 评论 -
【C语言】通讯录的实现(静态版本)
static修饰函数:对于一个工程中的两个.c文件,一个函数本来具有外部链接属性,当这个函数被static修饰后,外部链接属性就变成了外部链接属性,这时函数只能在自己所在的源文件内部使用,其他文件无法使用。我们在删除联系人,查找联系人,修改指定联系人信息时都需要查找指定联系人,所以我们可以将查找联系人封装成一个函数,这了是按照姓名查找联系人,同理可以按照电话号码,地址等查找。对于数组的大小,我们可以使用#define定义常量,便于后期代码的修改。通讯录:存放人的信息,包括姓名,年龄,性别,电话,地址。原创 2023-02-07 17:23:37 · 102 阅读 · 0 评论 -
【C语言】字符串左旋
牛客网JZ58 左旋转字符串:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列 S ,请你把其循环左移 K 位后的序列输出。例如,字符序列 S = ”abcXYZdef” , 要求输出循环左移 3 位后的结果,即 “XYZdefabc”逆序实现字符串左旋转原创 2023-01-31 20:54:17 · 211 阅读 · 0 评论 -
【C语言】杨氏矩阵
杨氏矩阵:有一个二维数组. 数组的每行从左到右是递增的,每列从上到下是递增的,在这样的数组中查找一个数字是否存在。基本实现|结构体实现|利用函数传址调用实现原创 2023-01-29 23:50:45 · 954 阅读 · 1 评论 -
打印水仙花数
输出水仙花数原创 2022-09-23 22:36:39 · 166 阅读 · 0 评论 -
扫雷小游戏(C语言实现)
扫雷小游戏(C语言实现)原创 2022-09-06 19:43:48 · 934 阅读 · 0 评论 -
三子棋小游戏(C语言实现)
三子棋小游戏原创 2022-09-04 22:18:28 · 753 阅读 · 0 评论 -
冒泡排序(C语言实现)
冒泡排序原创 2022-03-29 15:00:17 · 11084 阅读 · 3 评论 -
二分查找(C语言实现)
二分查找原创 2022-03-23 00:25:17 · 23225 阅读 · 18 评论 -
字符串逆序(C语言)
递归实现字符串逆序(C语言)原创 2022-03-23 20:20:06 · 7615 阅读 · 0 评论