×

Welcome to TagMyCode

Please login or create account to add a snippet.
0
0
 
0
Language: Java
Posted by: sagar singh
Added: Jul 23, 2021 11:27 AM
Views: 3656
  1. public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
  2.  
  3.         ListNode lh/*list head*/ = null;
  4.         ListNode tail = null;
  5.         int carry = 0;
  6.  
  7.         while(l1!=null && l2!=null) {
  8.             int data = (l1.val + l2.val + carry) % 10;
  9.             carry = (l1.val + l2.val + carry)/10;
  10.  
  11.             ListNode tmp = new ListNode(data);
  12.  
  13.             if(lh==null) {
  14.                 lh = tmp;
  15.                 tail = lh;
  16.             }
  17.             else {
  18.                 tail.next = tmp;
  19.                 tail = tail.next;
  20.             }
  21.  
  22.             l1 = l1.next;
  23.             l2 = l2.next;
  24.         }
  25.  
  26.         while (l1!=null) {
  27.             int data = (carry + l1.val) % 10;
  28.             carry = (carry + l1.val) / 10;
  29.  
  30.             ListNode tmp = new ListNode(data);
  31.             tail.next = tmp;
  32.             tail = tail.next;
  33.             l1=l1.next;
  34.         }
  35.         while (l2!=null) {
  36.             int data = (carry + l2.val) % 10;
  37.             carry = (carry + l2.val) / 10;
  38.  
  39.             ListNode tmp = new ListNode(data);
  40.             tail.next = tmp;
  41.             tail = tail.next;
  42.             l2=l2.next;
  43.         }
  44.  
  45.         if (carry!=0) {
  46.             ListNode tmp = new ListNode(carry);
  47.             tail.next = tmp;
  48.         }
  49.  
  50.         return lh;
  51.     }