题目

你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。

样例

给出两个链表 3->1->5->null 和 5->9->2->null,返回 8->0->8->null

思路

当前位相加 考虑进位

C++代码

ListNode *addLists(ListNode *l1, ListNode *l2) {
// write your code here
ListNode* head = NULL;
ListNode*p1, *p2, *q, *p;
q = head;
p1 = l1;
p2 = l2;
int cp = 0;
int t1;
int t2;
while (p1 || p2)
{
if (p1)
{
t1 = p1->val;
p1 = p1->next;
}
else t1 = 0;
if (p2)
{
t2 = p2->val;
p2 = p2->next;
}
else t2 = 0;
int sum = t1 + t2 + cp;
cp = sum / 10;
if (sum >= 10)
{
sum = sum % 10;
}
ListNode* p = new ListNode(sum);
if (!head) head = q = p;
else q = q->next = p;
}
if (cp)
{
p = new ListNode(cp);
q = q->next = p;
}
return head;
}

  

最新文章

  1. sql server实现自定义分割月功能
  2. CodeForce Round#49 untitled (Hdu 5339)
  3. 李洪强经典iOS面试题11
  4. Hibernate学习笔记--环境搭建及运行
  5. C#中隐式类型本地变量var
  6. jQuery弹出窗口完整代码
  7. Working with bounded Task Flows
  8. U盘制作系统盘的方法:
  9. 一键安装Davinci
  10. CAST()函数可以进行数据类型的转换。
  11. 用word发布CSDN文章
  12. css样式的书写顺序及原理
  13. Django的model form组件
  14. java.lang.IllegalStateException: Ambiguous mapping found
  15. springboot发送邮件
  16. spring cloud: Hystrix(五):如禁止单个FeignClient使用hystrix
  17. ESP8266 问题
  18. 转:C#实现office文档转换为PDF或xps的一些方法
  19. 做游戏长知识------基于行为树与状态机的游戏AI(一)
  20. asp.net图片上传代码

热门文章

  1. 解决微信浏览器内video全屏问题
  2. Vue的Ajax(vue-resource/axios)
  3. Sublime text3 代码格式化插件vue
  4. CentOS设置打开终端快捷键
  5. PAT甲级——A1059 Prime Factors
  6. 关于Git回退再前进造成本地代码和远程仓库代码不一致的问题
  7. php5.3中namespace的说明,帮助初次接触namespace的phper快速理解
  8. TZ_16_Vue的idea入门
  9. ES6学习笔记之Symbol
  10. LintCode刷题笔记-- Maximum Product Subarray