Leetcode2. Add Two Numbers 两数相加

Posted whisperbb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode2. Add Two Numbers 两数相加相关的知识,希望对你有一定的参考价值。

You are given two non-empty linked lists representing two non-negative integers. 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.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Example:

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.
代码:
/**
 * 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) 
        ListNode* cc=new ListNode(-1), *cur=cc;
        int carry=0;
        while(l1||l2)
            int val1 = l1 ? l1->val:0;
            int val2 = l2 ? l2->val:0;
            int sum=val1+val2+carry;
            carry=sum/10;
            cur->next=new ListNode(sum%10);
            cur=cur->next;
            if(l1) l1=l1->next;
            if(l2) l2=l2->next;
        
        if(carry) cur->next=new ListNode(1);
        return cc->next;
    
;

 





参考:
https://www.cnblogs.com/grandyang/p/4129891.html


以上是关于Leetcode2. Add Two Numbers 两数相加的主要内容,如果未能解决你的问题,请参考以下文章

leetcode2. Add Two Numbers

leetcode2. Add Two Numbers

Leetcode2. Add Two Numbers

Leetcode2 Add Two Numbers

Leetcode2. Add Two Numbers 两数相加

leetcode2 add two numbers