首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

LeetCode题解-2.相加C语言

LeetCode题解-2.相加C语言) 1.问题描述 给你个非空 的链表,表示个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。...请你将个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这个数都不会以 0 开头。...对于长度短的数字进行补0,然后相加,将处理后的每一项插入结果链表。...1、创建结果链表 2、遍历给定的个链表 3、取结点值进行相加,并记录进位值carry,注意短数补0 4、遍历结束后,判断进位是否大于0,是则插入结果列表 在实现该题过程中,借鉴了官方的题解,最终按着自己的理解写出该题...->val = carry; node->next = NULL; } return L; } 4.个人记录 在第一次实现中,在进行链表插入时出现错误,导致只能输出第一个数字和最后一个数

25900

C语言每日一题(37)相加

力扣网 2 相加 题目描述 给你个 非空 的链表,表示个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。...请你将个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这个数都不会以 0 开头。...思路分析 最基本的思路,就是将俩链表转正过来,相加后再进行逆序,实现是可以实现,但时间复杂度太高了,此外这里相加还涉及到进位的问题,这样做会很麻烦。...换一种思路,我们直接在现成的个链表上操作,可以看到,相加后逆过来的值刚好就是对应的个结点的相加,那我们可以直接遍历个链表,将对应的值相加,并存放到新的结点里。...需要注意的事项: 1.这里会涉及到进位的问题,我们可以将相加后的值/10得到进位值(大于10的进位值为1,小于10的进位值为0)每次相加时加上进位值即可。

9810

C语言每日一题(47)相加II

力扣 445 相加II 题目描述 给你个 非空 链表来代表个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这相加会返回一个新的链表。...你可以假设除了数字 0 之外,这个数字都不会以零开头。...示例3: 输入:l1 = [0], l2 = [0] 输出:[0] 提示: 链表的长度范围为 [1, 100] 0 <= node.val <= 9 输入数据保证链表代表的数字无前导 0 思路分析 和相加比起来...,这道题的难点在于它不是逆序的而是正序的,这意味着你不能直接在个链表上进行操作,但可以逆转链表再进行操作,但这样工作量就会很大了,还容易出错。...Stack2[--top2] : 0;//考虑到链表长度不等的情况,不存在的值视作0 sum=n+m+carry; carry=sum/10;//求出进位值

7810

C语言函数的调用——比较个数的大小

先写好框架 二、然后定义我们需要的变量 三、这里就要写函数的部分 四、函数部分写完了,但是还一个地方,要值得注意  一、常规方法比较大小 二、指针操作比较大小 今天我们要写的是用调用函数的方法来 比较个数字的大小...我们先看看程序的运行效果 一、先写好框架 #include void main() { } 二、然后定义我们需要的变量 int i,j;//只有个参数 scanf("%d,%d",&i,&j)...; 三、这里就要写函数的部分 //这里的max是我们定义的函数名字,这个函数定义为int型表示我们最终要返回一个整形的数字 //括号里的个表示形参,即我们要把我们在主函数中输入的个数字放进去,然后再执行函数里面的语句...我在下面的主函数中要用到我定义的这个函数   声明如下 一、常规方法比较大小 #include int max(int i, int j); //主函数之前声明 int main() { int i,j; printf("输入个数字...,这个数字之间用空格隔开:\n"); scanf("%d%d",&i,&j); printf("%d\n",max(i,j));//声明完成之后,在这里调用我们写的函数,并且把我们输入的个参数放进函数中

2.3K20

C语言个数相除怎么得到浮点数

c语言相除为什么没有小数有些时候,使用C语言的相除运算符计算个变量相除运算结果,可是却无法保留小数,比如3/2,打印输出是1,而不是1.5之类有小数的值。这是为什么呢?...可能有种原因,如下:如上实例中的3/2,个变量均为int或其它整型,相除得到的运算结果也为整型,要得到浮点数,可以将其中一个变量转换为浮点型;C语言中pirntf()函数打印输出浮点数使用的是%f占位符...,而不是 %d;下面将通过几个实例来验证这种原因。...c语言相除得到小数实例代码实例代码中,int除以int,即x除以y,并使用%f,得到的却是0.000000;int除以float,即x除以z,却使用%d,得到的却是0;int除以float,即x除以z,...f \n", x/y); printf("x / z= %d \n", x/z); printf("x / z= %f \n", x/z); return 0;}原文(全栈开发助手)c语言

12521

C语言练习之交换个数组中的内容

(数组一样大) 一、思路 交换个变量A、B中的内容,可以创建第三个变量C。 先将A中的内容放置在C中保存,再将B中的内容放置进A中,最后将C中的内容(原A中的内容)放进B中。...这次对个数组内容的交换就是用了这种思想。 需要注意一点,打印数组时不能直接全部打印,需要借助一个for循环来一个一个的打印数组中的内容。...,arrA[i]); } printf("\n"); printf("arrB = "); for (i = 0; i < sz; i++) { printf("%c", arrB[i])...; } printf("\n"); return 0; } 运行截图: ---- 总结   以上就是今天要讲的内容,本文简单的介绍了用C语言实现交换个数组中的内容的思路,还进一步展示了代码的运行结果验证了作者的思路...本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。

1.2K20

vscode配置 -- 编写C语言

一、前言 使用vscode编写单页面的小程序还是很方便的,但是,它不是集成开发环境,编写相应的程序,比如C语言,需要安装对应的插件和扩展,配置起来相对比较麻烦一些,但是用熟练了就非常好用,无论是调试还是编码...,vscode都相当强大,毕竟是微软的玩意,下边总结一下:如何使用vscode来编写C语言。...C语言需要的插件和配置环境变量,如下 首先在vscode里安装个扩展,分别是C/C++和code runnne 202202082300055.png 202202082300855.png 然后接着下载...MinGW,解压到相应盘中(我这里解压到了D盘)然后配置环境变量,环境变量的配置我这里配置了个,一个就是在系统环境变量中原有的path后边加上解压后的MinGW的路径,即到bin的路径(我的是:D:\...a + b; printf("%d\n", sum); system("pause"); } 点击F5运行: 202202082300173.png 文件夹随意建,编译器都能找到你的C语言文件

7.9K20
领券