LeetCode: Add Two Numbers
2014-04-21 11:39
288 查看
思路:按照加法法则相加即可,尽量少使用额外空间,注意进位的处理,如果最后的进位还是1,说明需要增加一个节点,其值为1
class Solution { public: ListNode *addTwoNumbers(ListNode *l1, ListNode *l2){ int addBit = 0; ListNode * firstList = l1, *secondList = l2, *h = l1, *p = l1; while(firstList && secondList){ int ret = firstList->val + secondList->val + addBit; addBit = ret / 10; ret %= 10; firstList->val = ret; p = firstList; firstList = firstList->next; secondList = secondList ->next; } if(secondList)p->next = secondList; while(secondList){ secondList->val += addBit; addBit = secondList->val / 10; secondList->val %= 10; p = secondList; secondList = secondList->next; } while(firstList){ firstList->val += addBit; addBit = firstList->val / 10; firstList->val %= 10; p = firstList; firstList = firstList->next; } if(addBit){ ListNode *temp = new ListNode(1); p->next = temp; } return h; } };
相关文章推荐
- LeetCode-Add Two Numbers
- leetcode:Add Two Numbers
- [Leetcode] 2 - Add Two Numbers
- LeetCode-2.Add Two Numbers
- LeetCode002 Add Two Numbers
- leetcode Add Two Numbers
- [LeetCode] 2 - Add Two Numbers
- LeetCode: 2. Add Two Numbers
- 【leetcode-2】Add Two Numbers(C)
- LeetCode Add Two Numbers
- [leetcode] Add Two Numbers
- LeetCode Add Two Numbers
- LeetCode-2. Add Two Numbers
- LeetCode(2)Add Two Numbers
- LeetCode Add Two Numbers
- 【Leetcode】002 Add Two Numbers
- 【Leetcode问题搬运翻译】Add two numbers
- LeetCode - Add Two Numbers
- LeetCode 2. Add Two Numbers
- LeetCode--Add Two Numbers(链表)