Guest User

Untitled

a guest
Nov 22nd, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. /**
  2. * Definition for singly-linked list.
  3. * struct ListNode {
  4. * int val;
  5. * ListNode *next;
  6. * ListNode(int x) : val(x), next(NULL) {}
  7. * };
  8. */
  9. class Solution {
  10. public:
  11. ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
  12. ListNode dummy(0);
  13. ListNode* p = &dummy;
  14. int carry = 0;
  15. while(l1 || l2) {
  16. int val = carry + (l1 ? l1->val : 0) + (l2 ? l2->val : 0);
  17. carry = val / 10;
  18. val = val % 10;
  19. p->next = new ListNode(val);
  20. p = p->next;
  21. if (l1) l1 = l1->next;
  22. if (l2) l2 = l2->next;
  23. }
  24. if (carry > 0) {
  25. p->next = new ListNode(carry);
  26. p = p->next;
  27. }
  28. return dummy.next;
  29. }
  30. };
Add Comment
Please, Sign In to add comment