2 - Add Two Numbers
2016-01-22 13:44
155 查看
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int carry = 0; ListNode * trail = new ListNode(0); ListNode * head = trail; while(l1 != NULL || l2 != NULL || carry == 1){ // carry == 1 is in case of [5] + [5] = [0,1] ListNode * newNode = new ListNode(0); if(l1 != NULL){ newNode->val += l1->val; l1 = l1->next; } if(l2 != NULL){ newNode->val += l2->val; l2 = l2->next; } int temp = newNode->val + carry; newNode->val = temp % 10; carry = temp / 10; // carry for next node trail->next = newNode; trail = trail->next; } return head -> next;//the first node what we created, which is 0. } };
相关文章推荐
- error: declaration may not appear after executable statement in block
- [Unity3D] 5.0 图集合并扩展工具,用于解决UGUI与AssetBundle打包造成资源包过大的问题
- 数据结构学习之顺序表(二)
- Spring+MVC项目发布停止
- DirectX的error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "long __cdecl InitD3D(struct HWND__ *)"
- Android中的PopupWindow详解
- FtpClient对ftp服务器进行上传及下载
- BZOJ2190 [SDOI2008] 仪仗队
- 腾讯对外分享组件接口文档
- jQuery中attr()函数 VS prop()函数
- 自创点名器
- 链表排序
- document.all笔记
- dll和so文件区别与构成
- java前台传参json,后台用map或者实体对象接收
- java.lang.RuntimeException: JPedal Trial has now expired
- 网络篇-NSURLConnection进度下载
- 用 ViewPager 实现欢迎引导页面
- [Unity3D]海岛奇兵金币等资源收取效果
- uva 10303 How Many Trees?