LeetCode: Add Two Numbers
2012-09-30 11:00
204 查看
Problem
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
与Add Binary类似,模拟加法运算即可。
最后的进位容易忘记。
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
与Add Binary类似,模拟加法运算即可。
最后的进位容易忘记。
/** * 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) { // Start typing your C/C++ solution below // DO NOT write int main() function if (l1 == NULL && l2 == NULL) return NULL; ListNode* result = new ListNode(0); // 设置一个哨兵节点,结束时删除 ListNode* current = result; int carry = 0; int value = 0; while(l1 != NULL && l2 != NULL) { value = l1->val + l2->val + carry; current->next = new ListNode(value % 10); current = current->next; carry = value / 10; l1 = l1->next; l2 = l2->next; } while(l1 != NULL) { value = l1->val + carry; current->next = new ListNode(value % 10); current = current->next; carry = value / 10; l1 = l1->next; } while(l2 != NULL) { value = l2->val + carry; current->next = new ListNode(value % 10); current = current->next; carry = value / 10; l2 = l2->next; } if (carry != 0) current->next = new ListNode(1); current = result; result = result->next; delete current; return result; } };
相关文章推荐
- 【leetcode】 Add Two Numbers
- [leetcode]-add two numbers @python
- LeetCode 002 Add Two Numbers
- Leetcode: Add Two Numbers
- [LeetCode] Add two numbers
- LeetCode题解 || Add Two Numbers 问题
- Leetcode(2) – Add Two Numbers
- leetcode 2. Add Two Numbers
- 【LeetCode】第2题: Add Two Numbers
- 2017暑期工程训练day1_leetcode2_Add Two Numbers
- LeetCode之2— Add Two Numbers
- LeetCode 2. Add Two Numbers
- leetcode3--Add Two Numbers
- LeetCode:Add Two Numbers
- [leetcode]Add Two Numbers @ Python
- leetcode(2) Add Two Numbers
- [LeetCode]Add Two Numbers(Java)
- Add Two Numbers_leetcode_#2
- [LeetCode]Add Two Numbers
- 菜鸟刷leetcode 2.Add Two Numbers