给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。


给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。

如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。

您可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例:

输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

C++::::

/**
* 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*

// }
// };


class Solution {
public:
ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* result= new ListNode(0);
ListNode* tmp=result;
int sum=0,sum1=0,sum2=0;
int num1=1,num2=1;
while(l1||l2)
{
if(l1!=NULL)
{
sum1+=(l1->val)*num1;
num1*=10;
l1=l1->next;
}
if(l2!=NULL)
{
sum2+=(l2->val)*num2;
num2*=10;
l2=l2->next;
}
sum=sum1+sum2;
if(sum!=0)
{
tmp->next= new ListNode(sum%10);
sum/=10;
tmp=tmp->next;
}
}
if(sum)
{
tmp->next = new ListNode(1);
}
return result->next;
}
};


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 leetcode给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。 Leetcode练习(Python):第66题:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数 c0605_两个超长正整数(每个最长80位数字)的加法运算
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM