两数相加(链表)

/**

 * 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) {

        int sum=0;

        ListNode* l3=new ListNode(0);

        ListNode* l4=l3;

        while(l1!=NULL||l2!=NULL||sum>0)

        {

            if(l1!=NULL)

            {

                sum+=l1->val;

                l1=l1->next;

            }

            if(l2!=NULL)

            {

                sum+=l2->val;

                l2=l2->next;

            }

            l4->next=new ListNode(sum%10);

            l4=l4->next;

            sum/=10;

        }

        return l3->next;        

    }

};

发布了81 篇原创文章 · 获赞 1 · 访问量 2745

猜你喜欢

转载自blog.csdn.net/weixin_44781382/article/details/105202393