码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode 2. 两数相加 Add Two Numbers

时间:2020-05-20 12:40:43      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:pre   str   turn   span   alt   sum   png   nullptr   src   

技术图片

 

 

/**
 * 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) {
        
        int carry = 0;  //进位
        ListNode* dummyHead = new ListNode(-1);
        ListNode* curr = dummyHead;
        while (l1 != nullptr || l2 != nullptr || carry == 1)
        {
            int num1 = l1 != nullptr ? l1->val : 0;
            int num2 = l2 != nullptr ? l2->val : 0;
            int sum = carry + num1 + num2;
            ListNode* pNode = new ListNode(sum % 10);
            curr->next = pNode;
            curr = pNode;
            carry = sum / 10;

            if (l1 != nullptr) l1 = l1->next;
            if (l2 != nullptr) l2 = l2->next;
        }
        return dummyHead->next;
    }
};

 

LeetCode 2. 两数相加 Add Two Numbers

标签:pre   str   turn   span   alt   sum   png   nullptr   src   

原文地址:https://www.cnblogs.com/ZSY-blog/p/12922675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!