DATAS *datasNew=(DATAS *)malloc(sizeof(DATAS));
scanf("%d",(datasNew-num));
datasNew-next=NULL;
if(datasHead-next==NULL)
datasHead-next=datasNew;
else
datasTail-next=datasNew;
datasTail=datasNew;
}
return datasHead;
}
DATAS *addData(DATAS *datasHead1,DATAS *datasHead2)
{
DATAS *datasHead=(DATAS *)malloc(sizeof(DATAS));
DATAS *datasTail=NULL;
datasHead-next=NULL;
while(datasHead1-next!=NULLdatasHead2-next!=NULL)
{
DATAS *datasNew=(DATAS *)malloc(sizeof(DATAS));
datasNew-next=NULL;
datasNew-num=datasHead1-next-num+datasHead2-next-num;
if(datasHead-next==NULL)
datasHead-next=datasNew;
else
datasTail-next=datasNew;
datasTail=datasNew;
datasHead1=datasHead1-next;
datasHead2=datasHead2-next;
}
return datasHead;
}
【leetcode C语言实现】面试题 02.05-链表求和给定两个用链表表示的整数 , 每个节点包含一个数位 。
这些数位是反向存放的,也就是个位排在链表首部 。
编写函数对这两个整数求和,并用链表形式返回结果 。
示例:
输入:(7 - 1 - 6) + (5 - 9 - 2),即617 + 295
输出:2 - 1 - 9,即912
进阶:假设这些数位是正向存放的,请再做一遍 。
示例:
输入:(6 - 1 - 7) + (2 - 9 - 5),即617 + 295
输出:9 - 1 - 2,即912
当两个整数相加时,从个位开始,依次将两个数的对应位置进行相加 , 将所得结果的个位数作为相加后对应位置的结果,若有进位将进位的值在更高一位进行相加 。此处两个数是以链表存储,同样的思路,依次将两个数的对应位置进行相加,并将所得结果保存到一个链表中 。
运行结果:
【两个链表求和函数c语言 两个链表的合并算法】两个链表求和函数c语言的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于两个链表的合并算法、两个链表求和函数c语言的信息别忘了在本站进行查找喔 。
- mysql怎么把两个字段拼在一起 mysql字段拼接中文
- 2台redis集群 两个redis能集群吗
- mongodb 求和 mongodb计算每条数据大小
- 一台服务器安装多个mysql 单机装两个mysql
- mysql两张表联合查询sql语句 mysql两个表的交集
- mysql多个条件or如何走索引 mysql两个条件并列
- mysql 两个字段求和 mysql两字段相减
- mongodb分组求和 mongodb多个字段求和
- 如何正确连接戴尔服务器的双电源? 戴尔服务器两个电源怎么接
- 如何正确使用戴尔服务器的双电源? 戴尔服务器两个电源怎么用
