LeetCode——两数相加

 ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
        ListNode *l3 = new ListNode(0);
        ListNode *l4 = l3;
        
        int carry = 0, x, y;
        while(l1 || l2)
        {
            l1 == NULL ? x = 0 : x = l1->val;
            l2 == NULL ? y = 0 : y = l2->val;
            int sum = x + y + carry;
            carry = sum / 10;
            l3->next = new ListNode(sum % 10);
            l3 = l3->next;
            if(l1 != NULL)
                l1 = l1->next;
            if(l2 != NULL)
                l2 = l2->next;
        }
        if(carry)
        {
            l3->next = new ListNode(1);
            l3 = l3->next;
        }
        return l4->next;
    }

猜你喜欢

转载自blog.csdn.net/goldcarpenter/article/details/82717900