
C语言刷题
勤奋的懒羊羊~
少年有梦,不应止于心动
展开
-
链表相关题目【题解】
给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。注意:这里我们用两个带哨兵位的头结点的链表,可以很好地减少空指针的问题,减少需要考虑的特殊情况。首先,创建两个链表,分别放小于x的结点和大于x的结点(通过尾插的方式),再将两个链表链接起来。第一步:分别计算两个链表的长度,求出两链表的长度差。第一步:找到第二个中间结点,也就是后半链表的头。原创 2023-03-12 09:06:01 · 586 阅读 · 4 评论 -
链表带环问题
给你一个链表的头节点 head ,判断链表中是否有环。原创 2023-03-12 08:59:35 · 315 阅读 · 0 评论 -
链表相关题目【题解】
给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。原创 2023-03-03 16:17:18 · 395 阅读 · 1 评论 -
删除有序数组中的重复项【去重】
dst从0开始,src从1开始,当 src指向的内容与dst相同时,src往后挪,当src指向的内容和dst不同时,dst往后挪一位,再将src指向的内容赋给dst,因为dst是下标,所以最后返回新数组大小应为dst+1。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。将最终结果插入 nums 的前 k 个位置后返回 k。原创 2023-02-25 18:38:17 · 179 阅读 · 3 评论 -
移除元素【题解】
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。原创 2023-02-25 14:29:55 · 74 阅读 · 1 评论 -
旋转数组【C语言】
给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。原创 2023-02-19 19:53:43 · 377 阅读 · 1 评论 -
消失的数字【C语言】
数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?原创 2023-02-19 10:31:25 · 393 阅读 · 1 评论 -
递归和非递归实现斐波那契数列【C语言刷题4】
斐波那契数列:1 1 2 3 5 8 13 21 34 ……(每个数都是前两个数的和)如果是我们平时数,我们肯定是从头开始列出来,1 1 2 3 5……n>2时,Fib (n) = Fib(n-1)+Fib(n-2)因此,我们可以利用这个思想写出下面的代码。递归和非递归分别实现求第n个斐波那契数。n原创 2022-12-11 15:50:16 · 590 阅读 · 8 评论 -
三种算法求最小公倍数【C语言刷题3】
正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数(0原创 2022-12-03 21:36:01 · 591 阅读 · 6 评论 -
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水【C语言刷题 2】
喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以有多少汽水?原创 2022-11-29 00:11:09 · 268 阅读 · 2 评论 -
2016Nice校招笔试题【C语言刷题 1】
原因:局部变量在栈区,且栈区的使用习惯是从低地址到高地址,如下图。运行结果:一直打印0-16,死循环。出现的问题:数组越界。原创 2022-11-27 16:42:09 · 364 阅读 · 2 评论