LeetCode 2. Add Two Numbers 题解

    xiaoxiao2021-03-25  144

    /** * 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) { if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode* ret = l1; ListNode* pre = new ListNode(0); ListNode* ret1 = pre; int add = 0; while (l1 != NULL || l2 != NULL) { int val1,val2; val1 = val2 = 0; if(l1 != NULL){ val1 = l1->val; l1 = l1->next; } if(l2 != NULL){ val2 = l2->val; l2 = l2->next; } int sum = val1 + val2 + add; add = sum/10; pre->next = new ListNode(sum); pre = pre->next; } if(add==1){ pre->next = new ListNode(1); } return ret1->next; } } ;模拟加法
    转载请注明原文地址: https://ju.6miu.com/read-5360.html

    最新回复(0)