C/C++刷题系列
文章平均质量分 86
分享在 牛客网,leetcode刷的经典好题
C-调战士
大二在读学生|阿里云专家博主|星级博主|CSDN新星计划C/C++领域赛道top3|热爱C/C++,目前致力于C/C++领域的学习和优质博客的内容分享|多次入选CSDN作者周榜top100,多次哈尔滨市作者周榜top1,哈尔滨市月原力榜top1、top2,希望和小伙伴们共同学习,共同进步!!!
展开
-
LeetCode 138.复制带随机指针的链表
给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。原创 2023-08-26 16:24:44 · 1600 阅读 · 65 评论 -
LeetCode 142.环形链表II
一个指针从相遇点开始走,一个指针从链表头开始走,最终他们会在入口点相遇。原创 2023-08-20 08:30:24 · 1224 阅读 · 84 评论 -
LeetCode 141.环形链表
如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。原创 2023-08-18 16:28:14 · 1259 阅读 · 65 评论 -
LeetCode 160.相交链表
给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null原创 2023-08-16 10:47:14 · 1906 阅读 · 59 评论 -
LeetCode 21.合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。原创 2023-08-13 15:31:33 · 583 阅读 · 55 评论 -
LeetCode 206.反转链表
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表原创 2023-08-12 13:52:19 · 746 阅读 · 62 评论 -
LeetCode 27.移除元素
创建一个新数组 **tmp**,大小为 **numsSize**;同时把原数组 **nums**中,不等于 **val**的数据,放到新数组 **tmp**中;然后再把 **tmp**中的数据拷贝回到原数组 **nums**中;原创 2023-04-22 13:57:44 · 1640 阅读 · 80 评论 -
LeetCode 189.轮转数组
🚨我们使用 reverse逆置函数的时候要注意:数组下标是从 0 开始的🚨我们还需要注意一个问题:如果 k 超过了数组元素个数怎么办?比如:数组是 [ 1 2 3 4 5 6 7] ,k = 8 的时候,此时数组元素个数为 7,而要求向右旋转 8 个位置,如果按照上面分析的情况,第一趟对前 n - k 逆置,也就是 7-8个逆置,难道对前 -1 个逆置吗?仔细想一下最后的结果会是什么?结果数组就是 [ 7 1 2 3 4 5 6 ]🚨我们要记住这道题的核心叫 轮转数组,也就是当轮转的次数原创 2023-04-13 18:46:40 · 1036 阅读 · 52 评论 -
【C语言刷题】倒置字符串
🔴首先我们定义一个字符数组来存放字符串,然后用 gets函数来读入字符串,接下来进行处理阶段,设计一个逆序函数逆序整个字符串,然后再逆序每个单词,最后处理一下细节再输出原创 2023-02-19 14:16:22 · 768 阅读 · 77 评论