leetcodel,LeetCode是什么
给你两个链表,代表两个非负数。这些数字以相反的顺序存储,并且它们的每个节点都包含一个数字。将两个数相加,并以链表的形式返回。
输入:(2 - 4 - 3) (5 - 6 - 4)
输出:7 - 0 - 8
Anwser 1:
/**
*单链表的定义。
*结构列表节点{
* int值
* ListNode *下一个
* ListNode(int x) : val(x),next(NULL) {}
* };
类别解决方案{
公共:
ListNode *将两个数字相加(ListNode * L1,ListNode *l2) {
//开始在下面键入您的C/C解决方案
if(l1==NULL l2==NULL) {
返回空
ListNode * retList=new ListNode(0);
ListNode * tmpList=retList
ListNode * head1=l1
ListNode * head2=l2
(同Internationalorganizations)国际组织进位=0;
while(head1!=NULL head2!=NULL){
int sum=进位头1- val头2-
进位=总和/10;
tmpList-next=new ListNode(sum % 10);
tmpList=tmpList-next;
head 1=head 1-next;
head 2=head 2-next;
while(head1!=NULL){
int sum=进位头1-
进位=总和/10;
tmpList-next=new ListNode(sum % 10);
tmpList=tmpList-next;
head 1=head 1-next;
while(head2!=NULL){
int sum=进位头2-
进位=总和/10;
tmpList-next=new ListNode(sum % 10);
tmpList=tmpList-next;
head 2=head 2-next;
if(carry==1){
tmpList-next=new ListNode(1);
tmpList=retList
retList=retList-next;
删除tmpList
返回retList
};
Anwser 2: