lc 两数相加
Posted friskypuppy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lc 两数相加相关的知识,希望对你有一定的参考价值。
链接:https://leetcode-cn.com/problems/add-two-numbers/
代码:
/** * 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 == nullptr && l2 == nullptr) return nullptr; ListNode* head = new ListNode(-1); ListNode* cur = head; int carry = 0; while(l1 || l2) { int sum = 0; if(l1) { sum += l1->val; l1 = l1->next; } if(l2) { sum += l2->val; l2 = l2->next; } if(carry) { sum += 1; } cur->next = new ListNode(sum%10); carry = sum / 10; cur = cur->next; } if(carry) { cur->next = new ListNode(1); } return head->next; } };
思路:模拟字符串即可,进位,增加一位 blabla...
以上是关于lc 两数相加的主要内容,如果未能解决你的问题,请参考以下文章