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

Add Two Numbers

时间:2018-04-18 14:28:23      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:cti   output   code   问题   class   ever   ini   input   represent   

问题描写叙述:
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
解决方式:

/**
 * 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||l2==NULL)
            return NULL;
        int c = 0;
        ListNode* result = new ListNode(0);
        ListNode* pNode = result;
        pNode->next = NULL;
        pNode->val = (l1->val+l2->val)%10;
        c = (l1->val+l2->val)/10;
        l1 = l1->next;
        l2 = l2->next;
        while(l1!=NULL&&l2!=NULL)
        {
            ListNode* temp = new ListNode(0);
            temp->next = NULL;
            temp->val = (l1->val+l2->val+c)%10;
            c = (l1->val+l2->val+c)/10;
            pNode->next = temp;
            pNode = pNode->next;
            l1 = l1->next;
            l2 = l2->next;
        }
        while(l1!=NULL)
        {
            ListNode* temp = new ListNode(0);
            temp->next = NULL;
            temp->val = (l1->val+c)%10;
            c = (l1->val+c)/10;
            pNode->next = temp;
            pNode = pNode->next;
            l1=l1->next;
        }
         while(l2!=NULL)
        {
            ListNode* temp = new ListNode(0);
            temp->next = NULL;
            temp->val = (l2->val+c)%10;
            c = (l2->val+c)/10;
            pNode->next = temp;
            pNode = pNode->next;
            l2=l2->next;
        }
        if(c)
        {
            ListNode* temp = new ListNode(c);
            pNode->next = temp;

        }
        return result;
    }
};

Add Two Numbers

标签:cti   output   code   问题   class   ever   ini   input   represent   

原文地址:https://www.cnblogs.com/zhchoutai/p/8874254.html

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