lintcode ----链表求和
2016-05-23 10:29
218 查看
ListNode *addLists(ListNode *l1, ListNode *l2) { // write your code here if(l1==NULL) return l2; else if(l2==NULL) return l1; int temp=0; int res=0; ListNode *head = new ListNode(0); ListNode *p = head; while(l1!=NULL&&l2!=NULL) { res=l1->val+l2->val+temp; temp=res/10; res=res%10; p->next=new ListNode(res); p=p->next; l1=l1->next; l2=l2->next; } while(l1!=NULL) { res=l1->val+temp; temp=res/10; res=res%10; p->next=new ListNode(res); p=p->next; l1=l1->next; } while(l2!=NULL) { res=l2->val+temp; temp=res/10; res=res%10; p->next=new ListNode(res); p=p->next; l2=l2->next; } if(temp!=0) { p->next=new ListNode(temp); } return head->next; }
实现:
首先声明一个带头结点的空链,判断两个链表是否为空,不为空取对应的val,直到有一个链表为空,跳出,继续判断不为空的链表.内部相加时候,声明一个符号位temp,和临时结果res,进位加到下一次累加中。最后,如果都遍历完,符号位还不为0,则添加一个为1的节点。
相关文章推荐
- Redis内存优化
- pull解析xml文件
- iOS 企业版 安装失败 原因
- bzoj1741 [Usaco2005 nov]Asteroids 穿越小行星群
- epoll详解
- 栈的讲解 和 栈的生长方向 源代码技巧分析,简直没SEI 啦
- 脑波层次意识与内在力量 [持续]
- Best Time to Buy and Sell Stock
- hibernate实体对象的三种状态:自由状态,持久状态,游离状态.
- HDU 1171 母函数或者01背包变形
- blender手册快捷键和操作技巧七
- DedeCMS常用SQL语句收录
- Java List转Map
- JavaScript正则表达式下之相关方法
- 自动释放池autoreleasepool
- leetcode 17. Letter Combinations of a Phone Number
- 弹性盒布局(FlexBox)
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- windows下基于Eclipse的Hadoop应用开发环境配置
- 一般各类模具开模周期