weixin_45677359
RaZzzyz
2021-01-24 16:45

leetcode第二题,在遇到最后一位进位为1时无法进位

  • c语言

struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){

   struct ListNode* head=l1;

   int i=0;

   while(l1!=NULL||l2!=NULL){

   if(l1==NULL&&l2!=NULL)

   {

      l1->val=l2->val+i;

       i=l1->val/10;

       l1->val=l1->val%10;

       l1=l1->next;

       l2=l2->next;

   }

   else if(l2==NULL&&l1!=NULL)

   {

      l1->val=l1->val+i;

       i=l1->val/10;

       l1->val=l1->val%10;

       l1=l1->next;

   }

   else 

   {

       l1->val=l1->val+l2->val+i;

       i=l1->val/10;

       l1->val=l1->val%10;

       l1=l1->next;

       l2=l2->next;

   } 

   }

   if(i)

   {

    l1=(struct ListNode*)malloc(sizeof(struct  ListNode)*2);

    l1->val=i;

   l1=l1->next;

   }

 

  return head;

}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

0条回答