2.2.1Add Two Numbers

来源:互联网 发布:买了域名要主机吗 编辑:程序博客网 时间:2024/06/08 00:27

Notes:
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

Solution: dummy head...

*/


/**

class Solution {public:    ListNode *addTwoNumbers(ListNode *l1, ListNode *l2) {        ListNode dummy(0), *cur = &dummy;        int carry = 0;        while (l1 || l2 || carry)        {            int sum = carry;            if (l1) {                sum += l1->val;                l1 = l1->next;            }            if (l2) {                sum += l2->val;                l2 = l2->next;            }            carry = sum >= 10 ? 1 : 0;            sum %= 10;            ListNode *newNode = new ListNode(sum);            cur->next = newNode;            cur = newNode;        }        return dummy.next;    }};


0 0
原创粉丝点击