leetcode练习 Add Two Numbers
2017-10-16 03:04
309 查看
感觉很久没有接触链表,又打算在处理图的时候使用邻接表
稍微做一道小题目熟悉一下
很简单,权当练手,重点是后面图的相关问题
稍微做一道小题目熟悉一下
很简单,权当练手,重点是后面图的相关问题
/** * 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) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode* result = new ListNode(0); ListNode* tail = new ListNode(0); int flag = 0; result->next = tail; tail->val = (l1->val+l2->val)%10; if ((l1->val+l2->val) >= 10) { flag = 1; } else { flag = 0; } ListNode* temp1 = l1->next; ListNode* temp2 = l2->next; while (temp1 != NULL && temp2 != NULL) { ListNode* n = new ListNode((temp1->val+temp2->val+flag)%10); tail->next = n; tail = n; if ((temp1->val+temp2->val+flag) >= 10) { flag = 1; } else { flag = 0; } temp1 = temp1->next; temp2 = temp2->next; } if (!temp1) { while (temp2) { ListNode* n = new ListNode((temp2->val+flag)%10); if ((temp2->val+flag) >= 10) { flag = 1; } else { flag = 0; } tail->next = n; tail = n; temp2 = temp2->next; } } else if (!temp2) { while (temp1) { ListNode* n = new ListNode((temp1->val+flag)%10); if ((temp1->val+flag) >= 10) { flag = 1; } else { flag = 0; } tail->next = n; tail = n; temp1 = temp1->next; } } if (flag) { ListNode* f = new ListNode(flag); tail->next = f; tail = f; } result = result->next; return result; } };
相关文章推荐
- leetcode 练习——add two numbers (Java)
- leetcode练习 add two numbers
- [编程练习][Add Two Numbers]<LeetCode-2>
- 【LeetCode002-003算法/编程练习C++】---Add Two Numbers||寻找最长无重复字母子串。//第三题之后有空要再想一想…
- Leetcode练习-两个数字相加(Add two numbers)
- LeetCode:Add Two Numbers
- Add Two Numbers -- LeetCode
- leetcode_AddTwoNumbers
- [leetcode][2]add two numbers
- LeetCode--Add Two Numbers
- [LeetCode]2. Add Two Numbers
- LeetCode_2 Add Two Numbers(链表)
- LeetCode--Add Two Numbers(求两个链表的和)Python
- 【LeetCode】Add Two Numbers
- [LeetCode] Add Two Numbers
- [LeetCode]Add Two Numbers II
- LeetCode2:Add Two Numbers
- LeetCode 之 Add Two Numbers
- leetcode 题解 2. Add Two Numbers
- leetcode 2 Add Two Numbers