leetcode-2-链表题-两数相加 发表于 2020-03-10 | 分类于 数据结构与算法 题目 解法1234567891011121314151617181920212223242526272829303132333435363738/** * 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) return l2; if(!l2) return l1; ListNode *res = new ListNode(-1); ListNode *tmpRes = res; int temp = 0; // 进位 while(l1 || l2 || temp){ int sum = temp; if(l1){ sum += l1->val; l1 = l1->next; } if(l2){ sum += l2->val; l2 = l2->next; } tmpRes->next = new ListNode(sum % 10); tmpRes = tmpRes->next; temp = sum / 10; } return res->next; }};