【LeetCode2】【链表】每日一题 day31

    科技2022-07-17  122

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { ListNode *ans = nullptr; //ans = new ListNode(0); //ans->val = 0; ListNode *returnValue = ans; int carryFlag = 0; while (l1 != NULL || l2 != NULL) { int n1 = l1? l1->val : 0; int n2 = l2? l2->val : 0; int nowVal = n1 + n2 + carryFlag; if (carryFlag == 1) carryFlag = 0; if (nowVal >= 10) { nowVal = nowVal % 10; carryFlag = 1; } if (!returnValue) { returnValue = ans = new ListNode(nowVal); } else { ans->next = new ListNode(nowVal); ans = ans->next; } if (l1) l1 = l1->next; if (l2) l2 = l2->next; } if (carryFlag == 1) { ans->next = new ListNode(1); ans = ans->next; } return returnValue; } };

    菜是真的菜TvT

    Processed: 0.010, SQL: 8