Monday, January 25, 2016

Add Two Linked List Data in Java




Input:
  First List: 5->6->3  // represents number 365
  Second List: 8->4->2 //  represents number 248
Output
  Resultant list: 3->1->6  // represents number 613

 public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
      int carry =0;

       ListNode newHead = new ListNode(0);
       ListNode p1 = l1, p2 = l2, p3=newHead;

       while(p1 != null || p2 != null){
           if(p1 != null){
               carry += p1.getData();
               p1 = p1.next;
           }

           if(p2 != null){
               carry += p2.getData();
               p2 = p2.next;
           }

           p3.next = new ListNode(carry%10);
           p3 = p3.next;
           carry /= 10;
       }

       if(carry==1)
           p3.next=new ListNode(1);

       return newHead.next;
   }

No comments:

Post a Comment