public static void Add(LinkedList num1, LinkedList num2) {
LinkedList result=null,curr=null,currLast=null;
int carry=0;
while(num1!=null || num2 !=null){
int sum = 0;
sum = carry + (num1!=null?num1.value:0) + (num2!=null?num2.value:0);
carry = sum>=10?1:0;
sum = sum%10;
//new node with sum
currLast = new LinkedList(sum);
//first node : make head to this
if(result==null)
result = currLast;
//else connect to curr next
else
curr.next = currLast;
curr = currLast;
if(num1!=null)
num1 = num1.next;
if(num2!=null)
num2 = num2.next;
}
if(carry > 0)
curr.next = new LinkedList(carry);
}
No comments:
Post a Comment