千里之行——刷题心得
zhengyawen666
这个作者很懒,什么都没留下…
展开
-
顺序表oj之合并两个有序数组
顺序表oj之合并两个有序数组原创 2022-06-10 14:22:19 · 266 阅读 · 0 评论 -
顺序表oj之删除特定的元素
顺序表oj之删除特定的元素原创 2022-06-10 13:29:27 · 423 阅读 · 0 评论 -
顺序表oj题目
顺序表之去重原创 2022-06-10 12:56:26 · 197 阅读 · 0 评论 -
环形链表问题
题目描述:给定一个链表的头节点 head,返回链表开始入环的第一个节点。如果链表无环,则返回null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。来源:力扣(LeetCode)链接:https://leet...原创 2022-05-19 13:32:38 · 401 阅读 · 0 评论 -
Leetcode 随即链表的深拷贝
题目链接:力扣题目要求:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点 。来源:力扣(LeetCode)链接:https://leetc原创 2022-05-14 13:01:23 · 268 阅读 · 0 评论 -
leetcode206 反转单链表——单链表的逆置
题目描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表leetcode链接:力扣思路一:链表的头插。由于改变了cur->next,因此需要记住cur->next的位置图片:代码:class Solution {public: ListNode* reverseList(ListNode* head) { if(head==NULL) { return NULL; }原创 2022-05-09 11:31:39 · 496 阅读 · 0 评论 -
链表中关于快慢指针的oj题
题目一:给定一个头结点为 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。leetcode链接:力扣解题思路:设定两个指针,一个是快指针,一个是慢指针。保持快指针的速度是慢指针的两倍,这样当快指针走到末尾的时候,慢指针刚好走到中间。返回慢指针。如图:需要注意的是分奇偶讨论,while循环结束的条件有所不同。代码:class Solution {public: ListNode* middleNode(ListNo..原创 2022-05-09 11:00:25 · 134 阅读 · 0 评论 -
C语言实现替换空格为%20
一 问题描述实现函数,把字符串中的空格替换为"%20"例如:把字符串"We are happy“中的空格全都替换为”%20",替换之后字符串就变为了"We%20are%20happy"二 解题思路① 利用两个数组实现对该字符串进行遍历,一个字符一个字符往另外一个数组里面放,如果遇到空格就放入%20.注意:当放完所有的字符后,记得加上字符结束标志‘\0'要写成if else的结构,否则会多放入一个‘ ’缺点:另外开辟了一个一块空间,会造成空间的浪费#define _原创 2022-04-12 22:23:13 · 1668 阅读 · 0 评论 -
母胎solo20年总结出的单身狗问题
一 思想精髓单身狗问题的关键就是或用^的性质:亦或操作:二进制位置相同取0,相异取1①0^a=a;②a^a=0;③a^1 那么a的所有位置按位取反那么->一个数字被另外一个数字亦或两次等于它本身(相当于没有^,^运算满足交换律)二 问题描述①一条单身狗 :一个数组中只有1个数字是出现一次,其它所有数字都出现了两次编写一个函数找出这两个只出现一次的数字刚开始定义的临时变量是0的原因: 0^任何数字都是它本身-》方便找出单身狗将所有的数字进行^操作,那么最原创 2022-04-10 20:19:12 · 464 阅读 · 0 评论 -
1.序列中删除特定的数字
牛客网上有一道题目:描述有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。数据范围:序列长度和序列中的值都满足 1 \le n \le 501≤n≤50输入描述:第一行输入一个整数(0≤N≤50)。第二行输入N个整数,输入用空格分隔的N个整数。第三行输入想要进行删除的一个整数。输出描述:输出为一行,删除指定数字之后的序列。分析:对于一个存放着n个元素的数组来说,如果要删除某整数,只原创 2022-03-19 21:14:21 · 384 阅读 · 0 评论