Advertisement
sak1b

https://leetcode.com/problems/add-two-numbers

Dec 1st, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. class Solution {
  2. public:
  3. ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
  4.  
  5. ListNode* current1 = l1;
  6. ListNode* current2 = l2;
  7. ListNode* last=NULL;
  8. ListNode* result=NULL;
  9.  
  10. int d1 = 0;
  11. int d2 = 0;
  12.  
  13. int sum = 0;
  14. int rem = 0;
  15.  
  16. while(current1 != NULL || current2 != NULL){
  17.  
  18. if(current1 != NULL){
  19. d1 = current1->val;
  20.  
  21. current1 = current1->next;
  22. }else{
  23. d1 = 0;
  24. }
  25.  
  26. if(current2 != NULL){
  27. d2 = current2->val;
  28.  
  29. current2 = current2->next;
  30. }else{
  31. d2 = 0;
  32. }
  33.  
  34. sum = (d1+d2) + rem;
  35.  
  36. rem = sum / 10;
  37.  
  38.  
  39. ListNode* temp = new ListNode((sum%10),NULL);
  40.  
  41. if(result == NULL){
  42. result = temp;
  43.  
  44. }else{
  45. last->next = temp;
  46. }
  47.  
  48. last = temp;
  49.  
  50.  
  51. }
  52.  
  53. if(rem > 0){
  54. ListNode* temp = new ListNode(rem,NULL);
  55. last->next = temp;
  56. }
  57. return result;
  58.  
  59. }
  60. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement