LeetCode OJ 02 Add Two Numbers
来源:互联网 发布:芜湖 网络推广专员 编辑:程序博客网 时间:2024/05/18 06:25
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
难度: medium
解题思路:
注意链表的数字顺序是与实际数字相反,则假如l1和l2的长度不一致,短的那个链表的尾部在做加法时相当于0。
代码
class Solution {public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode result(-1);//头节点 int carry = 0; ListNode *prev = &result; for(ListNode *pa=l1,*pb=l2; pa!=nullptr||pb!=nullptr; pa=pa==nullptr?nullptr:pa->next, pb=pb==nullptr?nullptr:pb->next, prev=prev->next){ const int ai=pa==nullptr?0:pa->val; const int bi=pb==nullptr?0:pb->val; const int value = (ai+bi+carry)%10; carry = (ai+bi+carry)/10; prev->next = new ListNode(value);//尾插法 } if(carry>0) prev->next = new ListNode(carry); return result.next; }};
0 0
- LeetCode OJ 02 Add Two Numbers
- LeetCode OJ:Add Two Numbers
- LeetCode OJ - Add Two Numbers
- LeetCode OJ Add Two Numbers
- LeetCode OJ - Add two Numbers
- LeetCode OJ ----Add Two Numbers
- LeetCode OJ:Add Two Numbers
- Leetcode OJ:Add Two Numbers
- [LeetCode OJ][002]Add Two Numbers
- 【LeetCode OJ 002】Add Two Numbers
- LeetCode OJ #2 Add Two Numbers
- LeetCode OJ : 2 Add Two Numbers
- <LeetCode OJ> 2. Add Two Numbers
- LeetCode OJ 2.Add Two Numbers
- LeetCode OJ 2. Add Two Numbers
- LeetCode OJ(2.Add Two Numbers)
- 三、[LeetCode OJ]Add Two Numbers
- LeetCode OJ-2.Add Two Numbers
- java面试题十一 基本数据类型
- Egret杂记
- 93 c 访问结构体成员
- 四 NoteList.java
- AutowireCapableBeanFactory,实现不必配置xml文件,动态加载bean
- LeetCode OJ 02 Add Two Numbers
- 如何离线增量升级Android Studio
- 如何向非技术人员解释“稀疏傅里叶变换”算法?
- java面试题十二 String返回类型
- Binary Tree Inorder Traversal
- [HDU 1394]Minimum Inversion Number[逆序对][线段树]
- 我理解的 KMP 算法
- POJ 3233 (矩阵)
- Android中动画的详解